Notification Services 的增強功能

Microsoft SQL Server Notification Services 是一個 SQL Server 平台,用來開發及部署會產生和傳送通知的應用程式。Notification Services 可以及時將個人化的訊息傳給數千至數百萬位訂閱者,且可以將訊息傳遞給多種不同的裝置。

Notification Services 2.0 是 2002 年發行之 SQL Server 2000 的可下載元件。SQL Server 2005 將 Notification Services 整合在 SQL Server 中。如需有關 Notification Services 的詳細資訊,請參閱<SQL Server Notification Services>。

以下是 Notification Services 2.0 之後的增強功能。

新功能

SQL Server 2005 Notification Services 新增了下列功能。

整合在 SQL Server Management Studio 中

現在,Notification Services 整合在 SQL Server Management Studio 物件總管中。當使用物件總管時,您可以執行大部份 nscontrol 命令提示字元公用程式,以及啟動和停止 Notification Services 執行個體。

您也可以利用 SQL Server Management Studio 來作為您的 XML 和 Transact-SQL 編輯器。如果您建立 Notification Services 執行個體的 SQL Server Management Studio 方案,您便能夠輕易地編輯組態檔 (ICF)、應用程式定義檔案 (ADF) 和 Transact-SQL 指令碼來進行安全性或執行個體的管理,之後,您便可以利用物件總管來部署執行個體。如需帶您逐步執行這個處理序的教學課程,請參閱<Notification Services 教學課程>。

若要進一步瞭解 SQL Server Management Studio,請參閱<SQL Server Management Studio 簡介>。

訂閱者自訂條件的支援

在 Notification Services 2.0 中,應用程式開發人員會定義用來產生通知的完整 Transact-SQL 動作,訂閱者只能提供動作的參數。在 SQL Server 2005 中,Notification Services 支援一種稱為「條件動作」的新動作類型,它可讓訂閱者在預先定義的一組資料上,定義他們自己的查詢子句。

當使用條件動作時,訂閱者可以在資料集上,完整定義他們自己的訂閱;不過,它也會降低產生通知的效率,因為通常會需要評估許多條件。

如需詳細資訊,請參閱<定義條件動作>。

資料庫獨立性

SQL Server Notification Services 支援在執行個體和應用程式資料上,使用現有的資料庫。當您設定 Notification Services 執行個體或定義 Notification Services 應用程式時,您可以指定現有資料庫的名稱,也可以指定新資料庫的名稱。最後,您也可以省略名稱,使用 Notification Services 預設資料庫名稱。

如需詳細資訊,請參閱<定義執行個體資料庫>和<定義應用程式資料庫>。

新的管理 API

SQL Server Notification Services 有一個新的管理 API,Microsoft.SqlServer.Management.Nmo。您可以利用這個 API 來開發 Notification Services 執行個體和應用程式,以及管理這些執行個體和應用程式。

可主控的執行引擎

Notification Services 引擎會執行主控的事件提供者、產生器和散發者。在 Notification Services 2.0 中,註冊執行個體時所能安裝的 NS$instanceName Windows 服務會執行 Notification Services 引擎。現在,您可以在自訂的應用程式或處理序中主控 Notification Services 引擎。如需詳細資訊,請參閱<主控 Notification Services 引擎>。

Analysis Services 事件提供者

Notification Services 已加入新的標準事件提供者,以利用 MDX 查詢來收集 Analysis Services 資料庫中的事件資料。如需詳細資訊,請參閱<Analysis Services 事件提供者>。

新的檢視

Notification Services 已加入或修改下列檢視來簡化應用程式的開發和疑難排解:

  • Notification Services 會針對應用程式所定義的每個事件類別各建立一份檢視。這份檢視與事件類別的名稱相同。當您撰寫事件驅動 (不是排程) 的通知產生查詢時,您通常會從這份檢視中選取事件。現在,您也可以將事件資料插入這份檢視中。如需詳細資訊,請參閱<<EventClassName> 檢視>。
  • Notification Services 會針對每個通知類別各建立一份檢視。您可以利用這份檢視來檢視應用程式所產生的通知。如需詳細資訊,請參閱<<NotificationClassName> 檢視>。
  • Notification Services 會提供三份檢視,供您檢視和管理訂閱者和訂閱資料:
    • NSSubscriberView 會列出 Notification Services 執行個體的所有訂閱者。您可以利用這份檢視來管理訂閱者資料。如需詳細資訊,請參閱<NSSubscriberView>。
    • NSSubscriberDeviceView 會列出 Notification Services 執行個體的所有訂閱者裝置。您可以利用這份檢視來管理訂閱者裝置資料。如需詳細資訊,請參閱<NSSubscriberDeviceView>。
    • NSSubscriptionClassNameView 會列出訂閱類別的所有訂閱。您可以利用這份檢視來管理基本的事件驅動訂閱,而不是排程的訂閱或以條件為基礎的訂閱。如需詳細資訊,請參閱<NS<SubscriptionClassName>View>。

增強現有功能

下列改進項目提升了效能,也簡化了應用程式的開發。

改進產生器效能

在 Notification Services 2.0 中,產生通知的規則必須利用 Notify() 函數來產生通知。這個函數使用三個擴充預存程序。這些擴充預存程序會降低效能,增加部署的步驟。

在 SQL Server 2005 中,Notification Services 已移除 Notify() 函數,現在,產生通知的規則必須將資料插入通知檢視中。這些必須由產生器來執行的 INSERT INTO 陳述式改進了 Notification Services 的效能。如需詳細資訊,請參閱<定義訂閱規則>和<將 Notification Services 2.0 執行個體移轉到 SQL Server 2005>。

改進 Vacuumer 效能

Notification Services 也改進了資料移除處理序 (稱為 Vacuuming) 的效能。效能超出 Notification Services 2.0 大約 150%,這會隨著應用程式和硬體組態而不同。

改進 Windows 叢集作業

從最早的版本以來,Notification Services 就支援 Windows 叢集技術。如果您將 Notification Services 引擎設定成「一般服務」叢集資源,執行這個執行個體的 NS$instanceName Windows 服務便可以進行容錯移轉,將工作交給其他叢集節點來處理。

在 Notification Services 2.0 中,Notification Services 會偵測出是否已安裝叢集軟體、是否已設定叢集,以及叢集是否在執行中。如果三項檢查都順利通過,Notification Services 會利用預設叢集名稱來作為本機電腦名稱,再執行設定成在預設叢集名稱上執行的元件。

現在,若要提供更好的叢集支援,您可以設定 Notification Services 的個別叢集資源群組,以便進行來自其他叢集資源群組的容錯移轉作業。現在,當您設定叢集資源時,您必須選取 [使用網路名稱作為電腦名稱] 組態選項。您必須將網路名稱 (虛擬伺服器名稱) 指定為在叢集中執行的任何 Notification Services 元件之 SystemName 值。

如需詳細資訊,請參閱<使用容錯移轉叢集搭配 Notification Services>和<逐步解說:叢集單一伺服器部署>。

請參閱

概念

SQL Server 2005 的新增功能

其他資源

SQL Server Notification Services

說明及資訊

取得 SQL Server 2005 協助