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

這個案例顯示如何使用 Microsoft Windows 驗證,在容錯移轉叢集上部署 Notification Services 執行個體。這個組態和先前討論的單一伺服器部署案例相似,但提供容錯移轉叢集的更高可用性。一般而言,針對需要高度可用性的中小型應用程式可以使用這個案例。如需有關容錯移轉叢集和 Notification Services 的詳細資訊,請參閱<使用容錯移轉叢集搭配 Notification Services>。

ms171407.note(zh-tw,SQL.90).gif附註:
這個逐步解說提供如何在容錯移轉叢集上部署 Notification Services 的範例,並假設您熟悉容錯移轉叢集。使用的伺服器名稱和編號僅供範例使用。請使用這個主題的程序作為開發及測試部署指示的方針。

下列圖例將顯示這個部署狀況的硬體組態。這個組態有兩部伺服器 (名稱是 NS1NS2),每一部都安裝了 Notification Services 和 SQL Server Database Engine。執行 Notification Services 引擎的 NS$instanceName Windows 服務是設成叢集的「一般服務」,可在需要時容錯轉移到另一部伺服器。

這個組態會將共用的磁碟機用於叢集仲裁資源、所有的資料庫檔案及所有的運作檔案。共用磁碟機可讓叢集存取磁碟機,而無需考慮叢集中哪一部伺服器在作用中。

叢集單一伺服器組態

必要條件

在容錯移轉叢集上部署 Notification Services 執行個體之前,請先確認所有必要條件均滿足:

  • 您熟悉 Windows 叢集和容錯移轉叢集上 SQL Server 的使用。

  • 您已於 NS1NS2 上安裝支援容錯移轉叢集的 Windows 伺服器作業系統,且已套用所有可套用的 Service Pack 和更新。

  • 「Windows 叢集服務」已安裝並正在 NS1NS2 上執行。

  • 您有一個叢集群組資源 (這個逐步解說中稱為 NSGroup),它包含下列資源:

    NSGroup 資源 描述

    網路名稱:NSCluster

    伺服器叢集的網路名稱。

    IP 位址

    叢集 IP 位址。

    實體磁碟 K

    包含 Notification Services 來源檔案和通知應用程式資料檔案的磁碟。

    如果 SQL Server 資源位於同一叢集群組,請定義其他磁碟 (見上圖的 G、H、I、J)。

    ms171407.note(zh-tw,SQL.90).gif附註:
    上面所示的磁碟機對應僅供這個逐步解說使用。您可以選擇您自己的名稱和磁碟機對應。
  • 您已於叢集的兩個節點上安裝了 SQL Server Database Engine 執行個體,建立了 SQL Server 虛擬伺服器。SQL Server 安裝的叢集資源可位於 Notification Services 資源的相同叢集群組或其他叢集群組中。
    如需有關在容錯移轉叢集上安裝 Database Engine 的詳細資訊,請參閱<容錯移轉叢集>。
    叢集仲裁、資料庫檔案、記錄檔案和 tempdb 檔案必須在不同的磁碟上,如上圖所示。

  • 執行這些程序所使用的帳戶具有伺服器的管理員權限,且是 SQL Server 中系統管理員 (sysadmin) 固定伺服器角色的成員。

  • 您或您的網域管理員已為 Notification Services 引擎建立帳戶。針對這個逐步解說,帳戶名稱是 DOMAIN\NSService。

  • 您可以為需要部署和執行 Notification Services 執行個體的檔案建立必要的檔案共用。
    您也授與必要的共用權限給您的帳戶和 DOMAIN\NSService 帳戶。

  • 如果遠端伺服器上有任何 Notification Services 引擎元件或用戶端應用程式,請確定 Database Engine 上已啟用 TCP/IP 或具名管道網路通訊協定。在 Microsoft SQL Server 2005 中,依預設會停用這些網路通訊協定。如需詳細資訊,請參閱<SQL Server 介面區組態>。

部署概觀

在這個部署逐步解說中,您將在主要伺服器 NS1 上執行下列工作:

  1. 安裝 Notification Services。
  2. 為部署和執行階段檔案對應網路磁碟機並建立叢集檔案共用資源。
  3. 授與 Windows 權限給 NSService 帳戶。
  4. 建立和啟用 Notification Services 執行個體。
  5. 註冊 Notification Services 執行個體,此舉會建立執行 Notification Services 引擎的 Windows 服務。
  6. 使用「叢集管理員」,建立在容錯移轉叢集上執行 Windows 服務的「一般服務」。
  7. 授與資料庫權限給 Windows 帳戶。
    ms171407.note(zh-tw,SQL.90).gif附註:
    Notification Services 也支援 SQL Server 驗證。 可能的話,請使用「Windows 驗證」。

接著您可以在叢集中的其他伺服器 (本範例中是單一伺服器 NS2) 上執行下列步驟:

  1. 安裝 Notification Services。
  2. 為部署和執行階段檔案對應網路磁碟機。
  3. 將 Notification Services 引擎的帳戶加入本機使用者群組中。
  4. 註冊 Notification Services 執行個體,此舉會建立執行 Notification Services 引擎的 Windows 服務。

準備好在叢集上啟動 Notification Services 執行個體時,請啟動「一般服務」叢集資源。

第一部伺服器 (NS1) 工作

在叢集中的伺服器 NS1 上執行下列工作。

步驟 1:將叢集群組移到 NS1

  1. 請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。

  2. 在左窗格中,展開 [群組]

  3. 選取 [NSGroup],再查看右側窗格中的 [擁有者] 資料行。

  4. 如果 [擁有者] 欄位指出另一部伺服器擁有叢集群組,請在 NSGroup 上按一下滑鼠右鍵,再按 [移動]

    NSGroup 資源現在已經在 NS1 上。

步驟 2:安裝 Notification Services

  1. 安裝 Notification Services。您可以安裝其他元件,但這些元件不是必要的。

    如需詳細資訊,請參閱<安裝 SQL Server Notification Services>。

步驟 3:建立檔案共用資源和對應網路磁碟機

  1. 使用 [叢集系統管理員] 為來源和資料檔案建立檔案共用資源。如需詳細資訊,請參閱「叢集系統管理員」文件集。

  2. 對應網路磁碟機到這些檔案共用。如需有關對應網路磁碟機的詳細資訊,請參閱您的 Windows 文件集。

步驟 4:將 Windows 權限授與 DOMAIN\NSService 帳戶。

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

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

    net localgroup users DOMAIN\NSService /add

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

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

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

    nscontrol create -in "Path\ICFName"

    根據組態檔,您可能需要提供其他命令列引數和參數。

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

    nscontrol enable -nameinstanceName-servervirtualDatabaseServer

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

  1. 在開啟的 [命令提示字元] 視窗中,輸入下列命令:

    nscontrol register -name instanceName -server virtualDatabaseServer

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

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

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

步驟 7:建立一般服務資源

  1. 請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。

  2. 開啟 [群組]

  3. NSGroup 上按一下滑鼠右鍵,指向 [新增] ,然後再按 [資源]

  4. [新資源] 頁面輸入下列資訊:

    名稱:instanceName

    資源類型:一般服務

    群組:NSGroup

  5. [可能的擁有者] 頁面上,選取 [可用的節點] 清單中的 NS1NS2 後,再按一下 [新增] 將它們移至 [可能的擁有者] 清單。

  6. [相依性] 頁面上,選取 [可用的資源] 清單中的 NSCluster 網路名稱資源後,再按一下 [新增] 將其移至 [資源相依性] 清單中。

  7. [一般服務參數] 頁面上,輸入下列資訊:

    服務名稱:**NS$**instanceName

  8. 選取 [使用網路名稱作為電腦名稱] 核取方塊。

  9. [登錄複寫] 頁面上,按一下 [完成]

步驟 8:授與資料庫權限

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

    sqlcmd -E -S databaseServer -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 -S databaseServer -Q "USE applicationDatabase**;**

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

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

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

  4. 關閉 [命令提示字元] 視窗。

ms171407.note(zh-tw,SQL.90).gif重要事項:
請勿在此時讓「一般服務」連線;將「一般服務」連線之前,請先設定 NS2。

其他伺服器 (NS2) 工作

在伺服器 NS2 上執行下列工作。

步驟 1:將叢集群組移到 NS2

  1. 請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。

  2. 在左窗格中,展開 [群組]

  3. 選取 [NSGroup],再查看右側窗格中的 [擁有者] 資料行。

  4. 如果 [擁有者] 資料行指出 NS1 擁有叢集群組,請在 NSGroup 上按一下滑鼠右鍵,再按 [移動]

NSGroup 資源現在已經在 NS2 上。

步驟 2:安裝 Notification Services

  1. 安裝 Notification Services。您可以安裝其他元件,但部署不需要其他元件。

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

步驟 3:對應網路磁碟機

  1. 執行與在 NS1 所做相同、連到 NSSourceFiles 和 NSDataFiles 的網路磁碟機對應。如需有關對應網路磁碟機的詳細資訊,請參閱您的 Windows 文件集。

步驟 4:將 Windows 權限授與 DOMAIN\NSService 帳戶。

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

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

    net localgroup users DOMAIN\NSService /add

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

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

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

  2. 在 [命令提示字元] 視窗中,輸入下列命令:

    nscontrol register -name instanceName -server virtualDatabaseServer

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

Notification Services 的執行個體現已在叢集完成部署和啟用。您可以加入訂閱者和訂閱並提交事件,但在讓「一般服務」連線之前,執行個體不會產生通知。讓「一般服務」連線的討論如下。

啟動 Notification Services 執行個體

準備好讓執行個體啟動產生通知前,請先讓「一般服務」連線。

讓一般服務連線

  1. 請開啟 [控制台] 的 [系統管理工具],再開啟 [叢集系統管理員]。

  2. 在左窗格中,展開 [群組]

  3. 選取 NSGroup

  4. 如果您想將叢集群組移回 NS1,請在 [NSGroup] 上按一下滑鼠右鍵,再選取 [移動]

  5. 在右側窗格中的 [一般服務] 上按一下滑鼠右鍵,再按 [立即線上工作]

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

疑難排解

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

nscontrol status-name instanceName

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

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

請參閱

概念

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

其他資源

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

說明及資訊

取得 SQL Server 2005 協助