逐步解說:遠端伺服器上的訂閱管理介面部署
對於以網際網路為基礎的通知應用程式,您通常會將訂閱管理介面部署在現有的 Internet Information Services (IIS) Web 伺服器中。
這個案例顯示如何將以 ASP.NET 為基礎的訂閱管理介面部署在遠端 IIS 伺服器中。這個案例需要一個網域帳戶,供您的訂閱管理介面用來連接到 Microsoft SQL Server。這個主題的程序告訴您如何建立這個登入帳戶以及授與必要的權限。
必要條件
在部署以 ASP.NET 為基礎的訂閱管理介面之前,請先確認所有必要條件都符合:
- 您已安裝 Microsoft Windows、加入 IIS 元件,及啟用 ASP.NET。請參閱您的 Windows 文件集,以取得指示。
- 您 (或您的網域管理員) 已建立一個網域帳戶,供以 ASP.NET 為基礎的介面使用。這個動作完成之後,遠端伺服器中的介面才能夠利用 Windows 驗證來連接到 SQL Server。在這項逐步解說中,網域帳戶稱為 DOMAIN\WebApp。
附註: 您可以使用 SQL Server 驗證。不過,Microsoft 建議您採用 Windows 驗證。 - 您已將應用程式加入 IIS,但尚未設定應用程式的安全性。
- 您已部署 Notification Services 的執行個體,以在資料庫伺服器中,建立執行個體和應用程式資料庫。
- Database Engine 上啟用了 TCP/IP 或具名管道網路通訊協定。在 SQL Server 2005 中,依預設會停用這些網路通訊協定。如需詳細資訊,請參閱<SQL Server 介面區組態>。
IIS 伺服器工作
請在 Web 伺服器中執行下列步驟。
第 1 步驟:安裝 Notification Services 用戶端元件
安裝 Notification Services 用戶端元件。
如需有關安裝元件的詳細資訊,請參閱<安裝 SQL Server Notification Services>。
第 2 步驟:註冊執行個體
在 [開始] 功能表中,依序指向 [程式集]、[Microsoft SQL Server 2005] 和 [Notification Services],再按一下 [Notification Services 命令提示字元] 來開啟 [Notification Services 命令提示字元] 視窗。
輸入下列命令來註冊執行個體:
nscontrol register -nameinstanceName-serverdatabaseServer
保留 [命令提示字元] 視窗的開啟狀態,供下一個程序使用。
第 3 步驟:設定以 ASP.NET 為基礎之應用程式的安全性
開啟 Machine.config 檔。這個檔案應該在 %windir%\Microsoft.NET\Framework\vn.n.nnnn\CONFIG。
尋找 processModel 元素。這個元素有許多屬性,其中包括 userName 和 password。
將 userName 值設為 DOMAIN\WebApp,將 password 值設為這個帳戶的密碼。這個元素應該看起來如下:
<processModel ... userName="DOMAIN\WebApp" password="aspnet_password" ... />
儲存 Machine.config 檔。
將 %windir%Microsoft.NET\Framework\vn.n.nnnn\Temporary ASP.NET Files 資料夾的 [完整控制權] 授與 DOMAIN\WebApp 帳戶。
如需有關授與資料夾權限的詳細資訊,請參閱您的 Windows 文件集。
重新啟動 IIS 來套用變更。
資料庫伺服器工作
您必須將 SQL Server 和資料庫權限授與 DOMAIN\WebApp 帳戶。如果您已將 SQL Server 工作站元件安裝在非主控的事件提供者伺服器中,您可以在這部伺服器中執行下列步驟。
授與 SQL Server 和資料庫權限
開啟 [命令提示字元] 視窗。
輸入下列命令來建立 DOMAIN\WebApp 帳戶的 SQL Server 登入:
sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\WebApp] FROM WINDOWS;"
輸入下列命令,將執行個體資料庫的存取權授與 DOMAIN\WebApp 帳戶,再將帳戶加入 NSSubscriberAdmin 資料庫角色中:
sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;
** CREATE USER [DOMAIN\WebApp];**
** EXEC sp_addrolemember N'NSSubscriberAdmin', N'DOMAIN\WebApp';"**
如果應用程式有個別的資料庫,請輸入下列命令,將應用程式資料庫的存取權授與 DOMAIN\WebApp 帳戶,再將帳戶加入 NSSubscriberAdmin 資料庫角色中:
sqlcmd -E -S databaseName -Q "USE applicationDatabase;
** CREATE USER [DOMAIN\WebApp];**
** EXEC sp_addrolemember N'NSSubscriberAdmin', N'DOMAIN\WebApp';"**
如果執行個體主控許多應用程式,請重複這個步驟來處理每個應用程式資料庫。
現在,您應該能夠利用訂閱管理應用程式來管理 Notification Services 執行個體的訂閱者和訂閱。
疑難排解
如果您無法管理訂閱者和訂閱,請從 Notification Services 命令提示字元執行下列命令來檢查執行個體狀態:
nscontrol status-name instanceName
請確認訂閱者和訂閱管理已啟用。如需詳細資訊,請參閱<檢視執行個體、應用程式與元件的狀態>。
同時請檢查 Windows 應用程式記錄檔中是否有任何錯誤。如需詳細資訊,請參閱<Notification Services 疑難排解>。
請參閱
概念
部署 Notification Services 的執行個體
部署非裝載的事件提供者