逐步解說:遠端資料庫伺服部署
這個部署逐步解說主要在示範,當資料庫位於遠端伺服器時,如何部署 Notification Services 的執行個體。這個部署比單一伺服器部署更能夠擴充,而且對於中大型的應用程式來說,是一個很好的解決方案。
附註: |
---|
所有 Notification Services 部署都是唯一的。請使用這個主題的程序作為開發及測試部署指示的方針。 |
下列圖例將顯示這個部署狀況的硬體組態。這個狀況使用兩部伺服器:NS1 和 SQL1。您把 Notification Services 安裝在 NS1,把 Database Engine 安裝在 SQL1。
NS1 執行 Notification Services 引擎元件,它有一或兩個磁碟機;這個伺服器上有幾個磁碟機並不重要。SQL1 會主控執行個體和應用程式資料庫。SQL1 有好幾個磁碟機,每一個都分別用來存放資料庫檔案、記錄檔、tempdb 和 Database Engine,以提升資料庫的效能。
必要條件
在部署 Notification Services 的執行個體之前,請確認已符合所有必要條件:
- 您已經將作業系統安裝在 NS1,而且套用了所有適用的 Service Pack 和更新程式。
- 您已經將 Microsoft Windows 和 Microsoft SQL Server 2005 Database Engine 安裝在 SQL1,而且套用了所有適用的 Service Pack 和更新程式。
- 您執行這些程序所用的帳戶,具有伺服器的管理權。
- 您或您的網域管理員已經建立或指定一個帳戶讓 Notification Services 使用。這個帳戶針對這些指示的用途,取名為 DOMAIN\NSService。
- 您已為來源檔案和資料檔建立必要的檔案共用,並已授與必要權限給自己的帳戶和 DOMAIN\NSService 帳戶。
- Database Engine 上啟用了 TCP/IP 或具名管道網路通訊協定。在 SQL Server 2005 中,依預設會停用這些網路通訊協定。如需詳細資訊,請參閱<SQL Server 介面區組態>。
部署概觀
在這個部署逐步解說中,您要在執行 Notification Services 引擎的伺服器 NS1 上,執行下列步驟:
- 安裝 Notification Services。
- 授與 Windows 權限給 NSService 帳戶。
- 建立和啟用 Notification Services 執行個體。
- 註冊 Notification Services 的執行個體,此舉會建立執行 Notification Services 引擎元件的 Windows 服務。
- 當您準備好開始產生通知時,請啟動 Notification Services 執行個體。
您在主控資料庫的伺服器 SQL1 執行下列工作:
- 授與資料庫權限給 Windows 帳戶。
附註: Notification Services 也支援 SQL Server 驗證。 可能的話,請使用「Windows 驗證」。
下列指示使用 Notification Services 命令提示字元,來顯示如何利用指令碼進行部署。您也可以利用 SQL Server Management Studio 來部署 Notification Services 執行個體。如需使用 SQL Server Management Studio 的單一伺服器部署指示,請參閱<SQL Server Notification Services 範例>。
NS1 工作
請在伺服器 NS1 執行下列步驟,來建立、註冊和啟用 Notification Services 的執行個體。
步驟 1:安裝軟體
安裝 Notification Services。您可以安裝其他元件,但這些元件不是這個逐步解說的步驟所必需。
如需有關安裝元件的詳細資訊,請參閱<安裝 SQL Server Notification Services>。
步驟 2:將 Windows 權限授與 DOMAIN\NSService 帳戶。
在 [開始] 功能表中,依序指向 [程式集]、[Microsoft SQL Server 2005] 和 [Notification Services],再按一下 [Notification Services 命令提示字元] 來開啟 [Notification Services 命令提示字元] 視窗。
將 DOMAIN\NSService 帳戶加入本機使用者群組中。在命令提示字元下,輸入下列 net localgroup 命令:
net localgroup users DOMAIN\NSService /add
如需有關將帳戶加入本機群組的詳細資訊,請參閱您的 Windows 文件集。
步驟 3:建立和啟用 Notification Services 執行個體
在命令提示字元輸入下列命令,建立執行個體和應用程式資料庫:
nscontrol create -in "Path\ICFName"
依據 ICF,您可能需要提供其他命令提示字元引數和參數。
輸入下列命令來啟用執行個體:
nscontrol enable -nameinstanceName-serverdatabaseServer
由於 Notification Services 引擎尚未安裝和啟動,因此引擎元件是在「啟用暫止」狀態。
如果您是在註冊執行個體之後啟用它,就可以省略 -server 引數。
步驟 4:註冊 Notification Services 執行個體
在命令提示字元下,輸入下列命令:
nscontrol register -nameinstanceName-serverdatabaseServer-service
-serviceusername DOMAIN\NSService
-servicepassword"password"
這個命令完成時,本機電腦上就會出現一個名叫 NS$instanceName 的 Windows 服務。
附註: |
---|
如果您是使用 SQL Server 驗證,則在註冊執行個體時,必須提供 SQL Server 驗證登入和密碼,然後再將權限授與這個登入。 |
現在您已經完成伺服器 NS1 上的工作了。
SQL1 工作
您必須授與 SQL Server 和資料庫權限給 Notification Services 引擎。如果您已經將 SQL Server 工作站元件安裝在 NS1 上,就可以在 NS1 執行這些步驟了。
步驟 1:授與 SQL Server 和資料庫權限
開啟 [命令提示字元] 視窗。
在命令提示字元輸入下列命令,為 DOMAIN\NSService 帳戶建立 SQL Server 登入。
sqlcmd -E -SdatabaseServer-Q "CREATE LOGIN [DOMAIN\NSService] FROM WINDOWS;"
輸入下列命令,將執行個體資料庫的存取權,授與 DOMAIN\NSService 帳戶,並且將該帳戶加入 NSRunService 資料庫角色中:
sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase**;**
** CREATE USER [DOMAIN\NSService];**
** EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"**
如果您有另外的應用程式資料庫,請輸入下列命令,將應用程式資料庫的存取權,授與 DOMAIN\NSService 帳戶,並且將該帳戶加入 NSRunService 資料庫角色中:
sqlcmd -E -SdatabaseServer-Q "USEapplicationDatabase**;**
** CREATE USER [DOMAIN\NSService];**
** EXEC sp_addrolemember N'NSRunService', N'DOMAIN\NSService';"**
如果執行個體主控許多應用程式,請重複這個步驟來處理每個應用程式資料庫。
現在您已部署 Notification Services 的執行個體。應該可以載入訂閱者和訂閱資料,並且將事件提交給您的應用程式。除非啟動 Windows 服務,否則 Notification Services 不會處理資料。我們將在下面討論如何啟動 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 公用程式