共用方式為


訂閱管理 API

當您建置訂閱管理介面時,會管理三種類型的物件:訂閱者、訂閱者裝置以及訂閱。您的自訂應用程式是利用 Notification Services 訂閱管理 API 來建立、修改和刪除這些物件。在內部,API 將訂閱者和訂閱資訊儲存在執行個體和應用程式資料庫中,並且在此處操作它們。

Notification Services 也會在執行個體和應用程式資料庫中提供檢視,讓您將基本訂閱者、訂閱者裝置以及訂閱直接加入資料庫中。這些檢視主要是用來開發和測試應用程式。

ms166467.note(zh-tw,SQL.90).gif重要事項:
請務必使用 API 或檢視,來管理訂閱者、訂閱者裝置以及訂閱資料;切勿直接操作基礎資料表。

訂閱管理 API

下圖將告訴您,訂閱管理介面如何使用訂閱管理物件與 Notification Services 通訊。

訂閱管理架構

  • Subscriber 物件代表單一訂閱者。訂閱者是指由訂閱者識別碼識別的人或處理序。訂閱者資料是儲存在執行個體資料庫中,讓應用程式之間共用訂閱者。
  • SubscriberDevice 物件代表訂閱者的單一訂閱者裝置。訂閱者裝置是通知傳遞的一個傳遞端點,例如,電子郵件地址。
    每一個訂閱者至少必須有一個訂閱者裝置。訂閱者裝置資料 (例如,訂閱者資料) 是儲存在執行個體資料庫中。
    每一個訂閱者裝置都有一個名稱和位址,並且與一個傳遞通道相關聯。傳遞通道代表一個特定的傳遞服務,用來傳遞通知給裝置,例如,特定的 Simple Mail Transfer Protocol (SMTP) 閘道。傳遞通道是在設定 Notification Services 的執行個體時設定的。
  • Subscription 物件代表訂閱者的單一訂閱。訂閱可以定義訂閱者希望收到哪些通知。訂閱是針對特定的訂閱類別而設,也可以針對事件驅動或排定的訂閱而設。訂閱會定義訂閱類別欄位的值。
    如果訂閱類別是採用條件動作,訂閱也可以指定一個條件,用來判斷是否應該針對該訂閱而產生通知。您的應用程式必須在 Microsoft.SqlServer.NotificationServices.Rules 命名空間中使用類別,才能支援條件開發。
    訂閱資料儲存在應用程式資料庫中。

訂閱管理類別

Microsoft.SqlServer.NotificationServices 命名空間中的下列類別,是用來開發訂閱管理介面。

類別 描述

Subscriber

代表給定 Notification Services 執行個體中的個別訂閱者。

SubscriberEnumeration

代表給定 Notification Services 執行個體中的訂閱者集合。

SubscriberDevice

代表可以接收通知的裝置。

SubscriberDeviceEnumeration

代表訂閱者裝置的集合。

Subscription

代表單一訂閱。

SubscriptionEnumeration

代表訂閱的集合。

SubscriberLocale

代表要將通知格式化的地理界限。

SubscriberLocaleEnumeration

代表給定 Notification Services 執行個體中所能使用的訂閱者地區設定集合。

TimeZone

代表排定之訂閱所用的有效時區。

TimeZoneEnumeration

代表給定 Notification Services 執行個體中所能使用的時區集合。

SubscriptionClass

代表為給定之應用程式指定的訂閱類別。

SubscriptionClassEnumeration

代表給定 Notification Services 應用程式中的訂閱類別集合。

NSApplication

代表 Notification Services 應用程式。

NSInstance

代表 Notification Services 執行個體。

NSException

代表在 Notification Services 應用程式錯誤發生時,所擲出的例外狀況。

訂閱條件類別

如果訂閱類別包含使用條件動作的規則,您就得在 Microsoft.SqlServer.NotificationServices.Rules 命名空間使用類別,讓使用者定義條件。

類別 描述

AndCondition

定義一組利用 AND 布林邏輯加以評估的條件。

BetweenLeafCondition

如果測試引數介於最小值和最大值之間 (含),則評估為 true

BooleanLeafCondition

如果布林值引數為 true,則評估為 true。

ConstantValue

代表其值已經預先決定的引數。

ExpressionOperator

運算式運算子。

ExpressionValue

代表已經評估簡式算術運算式而決定其值的引數。

FieldValue

代表從輸入欄位取得其值的條件引數。

FilterAction

篩選動作。

FilterRule

根據條件評估結果來定義輸入資料表或檢視的篩選。篩選規則是由一或多個篩選陳述式所組成。

FilterStatement

描述格式為 "IF Condition THEN Action" 的邏輯陳述式。

FunctionValue

代表從 Transact-SQL 使用者自訂函數取得值的引數。

IsNullLeafCondition

如果其引數為 NULL,則評估為 true

LinkLeafCondition

針對相關篩選規則的結果所進行的評估作業。

LinkLeafOperator

連結分葉條件的運算子。

NotCondition

執行另一個條件結果的否定運算。

OrCondition

定義一組利用 OR 布林邏輯加以邏輯評估的條件。

PropertyRule

針對輸入資料表或檢視中的任何資料列,定義評估為純量值的邏輯。屬性規則是由一或多個屬性陳述式所組成。

PropertyStatement

描述格式為 "IF Condition THEN Result",其結果為純量值的邏輯陳述式。

RulesException

代表由此命名空間物件所擲出的例外狀況。

RuleValue

代表從其他規則評估取得其值的引數。

SimpleLeafCondition

利用關係運算子比較兩個引數,然後傳回布林結果。

SimpleOperator

簡式分葉條件的運算子。

TableInputType

描述可作為規則輸入使用的資料表。

ViewInputType

描述可作為規則輸入使用的檢視。

訂閱管理類別

上述類別是為了管理訂閱者、訂閱者裝置和訂閱資料而設。如果您要建置一個應用程式,來管理 Notification Services 的執行個體,請在 Microsoft.SqlServer.Management.Nmo 命名空間使用下列類別,來啟用和停用訂閱者和訂閱。

類別 描述

Instance

提供方法來啟用和停用訂閱者管理。

Application

提供方法來啟用和停用訂閱管理。

訂閱管理檢視

Notification Services 會公開檢視,來管理針對應用程式測試所用的訂閱者資料。如需詳細資訊,請參閱下列主題:

請參閱

概念

開始訂閱管理專案

其他資源

開發訂閱管理介面
管理訂閱者
管理訂閱者裝置
管理訂閱資料

說明及資訊

取得 SQL Server 2005 協助