共用方式為


逐步解說:單一伺服器部署

這個部署逐步解說顯示如何在資料庫伺服器上部署 Notification Services 的執行個體。通常,這個部署類型是供中小型應用程式內部使用,而不是供大型應用程式做商務用途。

ms172597.note(zh-tw,SQL.90).gif附註:
所有 Notification Services 部署都是唯一的。請使用這個主題的程序作為開發及測試部署指示的方針。

下列圖片顯示這個部署案例的硬體組態。伺服器 NS1 有多個磁碟機,可改進資料庫和通知應用程式的效能。

單一伺服器組態

必要條件

在部署 Notification Services 的執行個體之前,請確認已符合所有必要條件:

  • 您已在伺服器 NS1 上安裝作業系統,而且已套用所有適用的 Service Pack 和更新項目。
  • 電腦符合 Microsoft SQL Server 需求。如需詳細資訊,請參閱<安裝 SQL Server 2005 的硬體和軟體需求>。
  • 您是在對伺服器有管理員權限的帳戶之下執行這些程序。
  • 您或您的網域管理員已經建立或指定一個帳戶讓 Notification Services 使用。基於這些程序的用途,這個帳戶是 DOMAIN\NSService。
  • 您已為來源檔案和資料檔建立必要的檔案共用,並已授與必要權限給自己的帳戶和 DOMAIN\NSService 帳戶。
  • 如果您在遠端伺服器上有任何 Notification Services 元件,則會在 Database Engine 上啟用 TCP/IP 或具名管道網路通訊協定。在 Microsoft SQL Server 2005 中,依預設會停用這些網路通訊協定。如需詳細資訊,請參閱<SQL Server 介面區組態>。

部署概觀

在這份部署逐步解說中,您要執行下列工作:

  1. 安裝 Notification Services 和 Database Engine。
  2. 授與 Microsoft Windows 權限給 NSService 帳戶。
  3. 建立和啟用 Notification Services 執行個體。
  4. 註冊 Notification Services 的執行個體,此舉會建立執行 Notification Services 引擎元件的 Windows 服務。
  5. 授與資料庫權限給 Windows 帳戶。
    ms172597.note(zh-tw,SQL.90).gif附註:
    Notification Services 也支援 SQL Server 驗證。
  6. 當您準備好開始產生通知時,請啟動 Notification Services 執行個體。

下面的指示使用 Notification Services 命令提示字元來顯示如何編寫部署的指令碼。您也可以利用 SQL Server Management Studio 來部署 Notification Services 執行個體。如需使用 SQL Server Management Studio 的一般部署指示,請參閱<SQL Server Notification Services 範例>。

NS1 工作

在伺服器 NS1 上執行下列步驟,在資料庫伺服器上部署 Notification Services 的執行個體。

步驟 1:安裝軟體

  1. NS1 安裝 SQL Server Database Engine 和 Notification Services。您也可以安裝工作站元件,但這個逐步解說中的步驟並不需要用到它們。

    如需有關安裝元件的詳細資訊,請參閱<安裝 SQL Server Notification Services>。

步驟 2:授與 Windows 權限

  1. [開始] 功能表中,依序指向 [程式集][Microsoft SQL Server 2005][Notification Services],再按一下 [Notification Services 命令提示字元] 來開啟 [Notification Services 命令提示字元] 視窗。

  2. 將 DOMAIN\NSService 帳戶加入至本機使用者群組。在命令提示字元下,輸入下列 net localgroup 命令:

    net localgroup users DOMAIN\NSService /add

    如需有關將帳戶加入本機群組的詳細資訊,請參閱您的 Windows 文件集。

步驟 3:建立和啟用 Notification Services 執行個體

  1. 在命令提示字元下,輸入下列命令來建立執行個體和應用程式資料庫:

    nscontrol create -in "ICFPath\ICFName"

    視 ICF 而定,您可能需要提供其他命令列引數和參數。

  2. 輸入下列命令來啟用執行個體:

    nscontrol enable -nameNSInstanceName-serverdatabaseServer

    由於 Notification Services 引擎尚未安裝和啟動,因此引擎元件是在「啟用暫止」狀態。

步驟 4:註冊 Notification Services 執行個體

  1. 在命令提示字元下,輸入下列命令:

    nscontrol register -name NSInstanceName -server databaseServer -service

        -serviceusername DOMAIN\NSService-servicepassword****"password"**

    這個命令完成時,本機電腦上就會出現一個名叫 NS$instanceName 的 Windows 服務。

ms172597.note(zh-tw,SQL.90).gif附註:
如果您使用 SQL Server 驗證,在註冊執行個體時要提供 SQL Server 登入和密碼,然後授與權限給這項登入。如需詳細資訊,請參閱<nscontrol register 命令>。

步驟 5:授與資料庫權限

  1. 輸入下列命令為 DOMAIN\NSService 帳戶建立 SQL Server 登入:

    sqlcmd -E -SdatabaseServer-Q "CREATE LOGIN [DOMAIN\NSService] FROM WINDOWS;"

  2. 輸入下列命令,在執行個體資料庫中建立 DOMAIN\NSService 使用者,並將該使用者加入至 NSRunService 資料庫角色:

    sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase**;**

    **    CREATE USER [DOMAIN\NSService];**

    **    EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"**

  3. 如果您有個別的應用程式資料庫,請輸入下列命令,在應用程式資料庫中建立 DOMAIN\NSService 使用者,並將該使用者加入至 NSRunService 資料庫角色:

    sqlcmd -E -SdatabaseServer-Q "USEapplicationDatabase**;**

    **    CREATE USER [DOMAIN\NSService];**

    **    EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"**

    如果執行個體主控許多應用程式,請重複這個步驟來處理每個應用程式資料庫。

現在您已部署 Notification Services 的執行個體。您可以載入訂閱者和訂閱資料及提交事件至應用程式。Notification Services 不產生通知,直到啟動 Windows 服務為止我們將在下面討論如何啟動 Windows 服務。

啟動 Notification Services 執行個體

當您準備好讓執行個體開始產生通知時,請啟動 Windows 服務。在 NS1 伺服器上,開啟 [命令提示字元] 視窗,及輸入下列命令:

**net start NS$**instanceName

如需詳細資訊,請參閱<啟動與停止 Notification Services 的執行個體>。

疑難排解

如果應用程式不產生通知,請從 Notification Services 命令提示字元執行下列命令,來檢查執行個體的狀態:

nscontrol status-name instanceName

確認所有元件正在預期的伺服器上執行,而且是在「已啟用」狀態。如需詳細資訊,請參閱<檢視執行個體、應用程式與元件的狀態>。

同時請檢查 Windows 應用程式記錄檔中是否有任何錯誤。如需詳細資訊,請參閱<Notification Services 疑難排解>。

請參閱

概念

部署 Notification Services 的執行個體
部署非裝載的事件提供者
部署訂閱管理介面

其他資源

nscontrol create 命令
nscontrol enable 命令
nscontrol register 命令
sqlcmd 公用程式

說明及資訊

取得 SQL Server 2005 協助