逐步解說:資料庫伺服器上的訂閱管理介面部署
如果是以內部網路為基礎的通知應用程式,您的訂閱管理介面可以在執行個體和應用程式資料庫的相同伺服器中。將應用程式和資料庫放在一起,部署作業會比較簡單,因為您不需要建立訂閱管理介面用來連接到 Microsoft SQL Server 的網域帳戶。
如果是以網際網路為基礎的通知應用程式,您通常會想要將資料庫放在防火牆後面的個別伺服器中,以維護它的安全。
這個案例顯示如何將以 ASP.NET 為基礎的訂閱管理介面部署在資料庫伺服器中。ASP.NET 應用程式利用 Microsoft Windows 驗證來存取資料庫。
必要條件
在部署以 ASP.NET 為基礎的訂閱管理介面之前,請先確認所有必要條件都符合:
- 您已安裝 Windows、加入 Internet Information Services (IIS) 元件,及啟用 ASP.NET。請參閱您的 Windows 文件集,以取得指示。
- 如果您使用 Microsoft Windows XP 或 Microsoft Windows 2000,ASPNET 帳戶應該會在伺服器中。Microsoft .NET Framework 安裝程式會建立這個帳戶。如果 ASPNET 帳戶不存在,您可以執行下列命令來建立帳戶:
%windir%\Microsoft.NET\Framework\vn.n.nnnn**\ASPNET_REGIIS.exe –i** - 您已新增應用程式 IIS,但尚未設定訂閱管理介面的安全性。
- 您已部署 Notification Services 的執行個體,以在資料庫伺服器中,建立執行個體和應用程式資料庫。
資料庫伺服器工作
請在資料庫伺服器上執行下列步驟。
步驟 1:安裝 Notification Services 用戶端元件
在資料庫伺服器中,安裝 Notification Services 用戶端元件。如果您已將 Notification Services 安裝在這部伺服器中,您就不需要安裝用戶端元件。
如需有關安裝元件的詳細資訊,請參閱<安裝 SQL Server Notification Services>。
步驟 2:註冊 Notification Services 的執行個體
在 [開始] 功能表中,依序指向 [程式集]、[Microsoft SQL Server 2005] 和 [Notification Services],再按一下 [Notification Services 命令提示字元] 來開啟 [Notification Services 命令提示字元] 視窗。
輸入下列命令來註冊執行個體:
nscontrolregister-nameinstanceName-serverdatabaseServer
第 3 步驟:授與 SQL Server 和資料庫權限
在 [命令提示字元] 視窗中,輸入下列命令來建立 SQL Server 登入識別碼:
sqlcmd -E -S databaseServer -Q "CREATE LOGIN [computer\ASPNET] FROM WINDOWS;"
輸入下列命令來授與登入執行個體資料庫的存取權,再將它加入 NSSubscriberAdmin 資料庫角色中:
sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;
** CREATE USER [computer\ASPNET];**
** EXEC sp_addrolemember N'NSSubscriberAdmin', N'computer\ASPNET';"**
輸入下列命令來授與帳戶應用程式資料庫的存取權,再將它加入 NSSubscriberAdmin 資料庫角色中:
sqlcmd -E -SdatabaseServer-Q "USEapplicationDatabase;
** CREATE USER [computer\ASPNET];**
** EXEC sp_addrolemember N'NSSubscriberAdmin', N'computer\ASPNET';"**
現在,您應該能夠利用訂閱管理應用程式來管理 Notification Services 執行個體的訂閱者和訂閱。
疑難排解
如果您無法管理訂閱者和訂閱,請從 Notification Services 命令提示字元執行下列命令來檢查執行個體狀態:
nscontrol status-name instanceName
請確認訂閱者和訂閱管理已啟用。如需詳細資訊,請參閱<檢視執行個體、應用程式與元件的狀態>。
同時請檢查 Windows 應用程式記錄檔中是否有任何錯誤。如需詳細資訊,請參閱<Notification Services 疑難排解>。
請參閱
概念
部署 Notification Services 的執行個體
部署非裝載的事件提供者