共用方式為


逐步解說:遠端伺服器上的訂閱管理介面部署

對於以網際網路為基礎的通知應用程式,您通常會將訂閱管理介面部署在現有的 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。
    ms171319.note(zh-tw,SQL.90).gif附註:
    您可以使用 SQL Server 驗證。不過,Microsoft 建議您採用 Windows 驗證。
  • 您已將應用程式加入 IIS,但尚未設定應用程式的安全性。
  • 您已部署 Notification Services 的執行個體,以在資料庫伺服器中,建立執行個體和應用程式資料庫。
  • Database Engine 上啟用了 TCP/IP 或具名管道網路通訊協定。在 SQL Server 2005 中,依預設會停用這些網路通訊協定。如需詳細資訊,請參閱<SQL Server 介面區組態>。

IIS 伺服器工作

請在 Web 伺服器中執行下列步驟。

第 1 步驟:安裝 Notification Services 用戶端元件

  1. 安裝 Notification Services 用戶端元件。

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

第 2 步驟:註冊執行個體

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

  2. 輸入下列命令來註冊執行個體:

    nscontrol register -nameinstanceName-serverdatabaseServer

  3. 保留 [命令提示字元] 視窗的開啟狀態,供下一個程序使用。

第 3 步驟:設定以 ASP.NET 為基礎之應用程式的安全性

  1. 開啟 Machine.config 檔。這個檔案應該在 %windir%\Microsoft.NET\Framework\vn.n.nnnn\CONFIG。

  2. 尋找 processModel 元素。這個元素有許多屬性,其中包括 userNamepassword

  3. userName 值設為 DOMAIN\WebApp,將 password 值設為這個帳戶的密碼。這個元素應該看起來如下:

    <processModel
        ...
        userName="DOMAIN\WebApp"
        password="aspnet_password"
        ...
    />
    
  4. 儲存 Machine.config 檔。

  5. 將 %windir%Microsoft.NET\Framework\vn.n.nnnn\Temporary ASP.NET Files 資料夾的 [完整控制權] 授與 DOMAIN\WebApp 帳戶。

    如需有關授與資料夾權限的詳細資訊,請參閱您的 Windows 文件集。

  6. 重新啟動 IIS 來套用變更。

資料庫伺服器工作

您必須將 SQL Server 和資料庫權限授與 DOMAIN\WebApp 帳戶。如果您已將 SQL Server 工作站元件安裝在非主控的事件提供者伺服器中,您可以在這部伺服器中執行下列步驟。

授與 SQL Server 和資料庫權限

  1. 開啟 [命令提示字元] 視窗。

  2. 輸入下列命令來建立 DOMAIN\WebApp 帳戶的 SQL Server 登入:

    sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\WebApp] FROM WINDOWS;"

  3. 輸入下列命令,將執行個體資料庫的存取權授與 DOMAIN\WebApp 帳戶,再將帳戶加入 NSSubscriberAdmin 資料庫角色中:

    sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;

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

    **    EXEC sp_addrolemember N'NSSubscriberAdmin', N'DOMAIN\WebApp';"**

  4. 如果應用程式有個別的資料庫,請輸入下列命令,將應用程式資料庫的存取權授與 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 的執行個體
部署非裝載的事件提供者

其他資源

部署 Notification Services

說明及資訊

取得 SQL Server 2005 協助