Share via


設定 SQL Server 2012 AlwaysOn 容錯移轉的設定和組織資料庫

 

發行︰ 2016年11月

適用於: Dynamics CRM 2015

Microsoft SQL Server 2012AlwaysOn 容錯移轉叢集執行個體 (FCI) 和 AlwaysOn 可用性群組會提供完整的高可用性和嚴重損壞修復解決方案。 本主題說明如何設定現有的 Microsoft Dynamics CRM Server 內部部署,讓設定及組織資料庫成為使用可用性群組之兩節點 SQL Server 2012AlwaysOn 容錯移轉叢集執行個體的一部分。

重要

如果正在升級的 Microsoft Dynamics 365 設定與組織資料庫已經設定好 Microsoft SQL Server 2012AlwaysOn FCI,您就不需要再次執行這個程序。

如需這些 SQL Server 2012 高可用性解決方案的詳細資訊,請參閱 AlwaysOn 容錯移轉叢集執行個體 以及 AlwaysOn 可用性群組

本主題內容

先決條件

啟用 SQL Server 2012 AlwaysOn

建立可用性群組

為所有次要複本上的 Microsoft Dynamics CRM 安全性群組建立 SQL 登入

更新 Windows 登錄中的設定資料庫連接字串

更新設定資料庫中的連接字串

重新啟動 IIS 和 Microsoft Dynamics CRM 服務

監控可用性群組並測試容錯移轉

先決條件

在本主題中,將會設定一個簡單的雙伺服器執行個體容錯移轉叢集,其需求如下:

  • 兩部使用共用存放區 (例如 SAN、NAS 或 Windows Storage Server),以兩節點容錯移轉叢集設定來執行的 Windows Server 2012 伺服器。

  • 兩部在 Windows Server 2012 上執行 SQL Server 2012 的伺服器,這些伺服器是在 SQL Server 2012AlwaysOn 執行個體容錯移轉叢集中的複本。SQL Server 主要複本執行個體具有設定 (MSCRM_CONFIG) 和組織 (OrganizationName_MSCRM) 這兩個資料庫。

    如需更多關於 SQL Server 2012 版本支援 AlwaysOn 的詳細資訊,請參閱 高可用性 (AlwaysOn)。 如需進一步關於如何建立 SQL Server 2012 容錯移轉叢集的詳細資訊,請參閱建立新的 SQL Server 容錯移轉叢集 (安裝)

SQL Server 2012 2 節點容錯移轉叢集執行個體

啟用 SQL Server 2012 AlwaysOn

下列建立 AlwaysOn 功能的步驟會使用 Microsoft SQL Server 2012 Management Studio。 或者,您可以使用 Transact-SQL 或 SQL ServerPowerShell。其他資訊:開始使用 AlwaysOn 可用性群組 (SQL Server)

  1. 在 SQL Server 組態管理員 中,啟用主要與次要複本中的 AlwaysOn 可用性群組。 如需詳細步驟,請參閱啟用 AlwaysOn 可用性群組

  2. 在 SQL Server Management Studio 中,建立可用性群組,並指定設定與組織資料庫以及主要與次要複本。其他資訊:建立及設定可用性群組 (SQL Server)

建立可用性群組

下列步驟會建立包含 Microsoft Dynamics 365 資料庫及單一組織資料庫的 SQL Server 2012 可用性群組。 此外,還會將接聽程式新增至可用性群組。

建立設定及組織資料庫的可用性群組

  1. 在做為主要複本的 SQL Server 中,啟動 SQL Server Management Studio。

  2. 在 [物件總管] 中,以滑鼠右鍵按一下 [AlwaysOn 高可用性],然後按一下 [新增可用性群組精靈]。

  3. 當精靈出現時,按 [下一步]。

  4. 在 [指定名稱] 頁面中,輸入可用性群組的名稱 (例如 Dynamics CRM),然後按 [下一步]。

  5. 在 [選取資料庫 ] 頁面上,選取 MSCRM_CONFIG 以及 OrganizationName_MSCRM 資料庫,然後按 [下一步]。

    重要

    請注意,將資料庫新增至可用性群組時,需求如下:

    • 必須將復原模式設定為 [完整]。 根據預設,組織資料庫 (OrganizationName_MSCRM) 會設定為 [簡易]。

    • 需要資料庫的完整備份。

  6. 在 [指定複本] 頁面上,按一下 [新增複本],在 [伺服器名稱] 方塊中輸入複本 SQL Server 的名稱 (例如,此範例中的 CRMNode2),然後按一下 [連線]。 複本伺服器執行個體會顯示在 [伺服器執行個體] 清單中。

  7. 按一下 [端點] 索引標籤,並確認兩個複本都在清單中。 向右捲動至 [SQL Server 服務帳戶],並確定已指定網域使用者帳戶。SQL Server 服務的網域使用者帳戶是 SQL Server 容錯移轉叢集的必要項。

  8. 按一下 [接聽程式] 索引標籤。 可用性群組接聽程式可在多子網路情節中啟用更快速的用戶端連線容錯移轉。 輸入下列資訊。

    • 接聽程式 DNS 名稱:輸入接聽程式的名稱。

    • 若要完成接聽程式的建立,請指定一個 TCP 連接埠,並將 [網路模式] 設定為 [靜態 IP]。 按一下 [新增] 輸入 IP 位址,然後按一 [OK]。 如需關於這些屬性的詳細資訊,請按一下 [新增可用性群組精靈] 中的 [說明]。

      按一下 [Next]。

  9. 決定要對複本進行哪些其他變更 (如果有的話),然後按 [下一步]。 如需詳細資訊,請按一下 [新增可用性群組精靈] 中的 [說明]。

    1. 在 [選取資料同步處理] 頁面上,選取資料同步處理方法。 如果選取 [完整],您必須新增可由所有複本存取的網路共用。 請注意,SQL Server 服務帳戶需要這個共用的讀取\寫入權限。 如需詳細資訊,請按一下 [新增可用性群組精靈] 中的 [說明]。

      按一下 [Next]。

  10. [驗證] 頁面隨即出現,對新的可用性群組執行驗證檢查。 在建立可用性群組之前,必須先解決錯誤。 按一下 [Next]。

  11. 在 [摘要] 頁面上,確認選擇是否正確,然後按一下 [完成]。

為所有次要複本上的 Microsoft Dynamics CRM 安全性群組建立 SQL 登入

為次要複本上的 Microsoft Dynamics 365 安全性群組建立 SQL 登入。 若要這麼做,請執行下列步驟:

  1. 啟動 SQL Server Management Studio 並連線至次要 SQL Server 複本 (CRMNode2)。

  2. 展開 [安全性] 節點,以滑鼠右鍵按一下 [登入],然後按一下 [新增登入]。

  3. 在 [登入] 名稱方塊內,按一下 [搜尋],確認 [群組] 包含在 [選取這個物件類型] 之中 (如果不在其中,按一下 [物件類型] 將其加入)。 輸入 DomainName\PrivReportingGroup,按一下 [檢查名稱],然後在名稱正確解析時,按一下 [確定]。

    注意

    實際 PrivReportingGroup 名稱可能不同。 確認存在於 Active Directory 的名稱。

  4. 針對下列安全性群組,重複步驟 2 和 3。

    • ReportingGroup

    • SQLAccessGroup

建立 MSCRMSqlClrLogin SQL 登入

  1. 建立 MSCRMSqlClrLogin 登入的非對稱金鑰

    在所有次要複本中,針對 master 資料庫執行下列 SQL 陳述式以建立不對稱金鑰,其中 <path> 是已安裝部署工具伺服器角色的伺服器上 Microsoft.Crm.SqlClr.Helper.dll 檔案的路徑。 例如,指定共用位置的 UNC 路徑類似 \\crmdeploymenttools\CRMshare\Tools\。 根據預設,Microsoft.Crm.SqlClr.Helper.dll 位於部署工具伺服器的 C:\Program Files\Microsoft Dynamics CRM\Tools\ 資料夾中。

    IF NOT EXISTS (SELECT * FROM sys.asymmetric_keys WHERE name = 'MSCRMSqlClrKey') BEGIN CREATE ASYMMETRIC KEY MSCRMSqlClrKey FROM EXECUTABLE FILE = ’<path>\Microsoft.Crm.SqlClr.Helper.dll’; 
    END
    
  2. 建立 MSCRMSqlClrLogin SQL 登入

    針對 master 資料庫執行下列 SQL 陳述式以建立 MSCRMSqlClrLogin 登入。

    IF NOT EXISTS (SELECT * FROM sys.syslogins WHERE name = 'MSCRMSqlClrLogin') BEGIN CREATE LOGIN MSCRMSqlClrLogin FROM ASYMMETRIC KEY MSCRMSqlClrKey GRANT UNSAFE ASSEMBLY TO MSCRMSqlClrLogin END
    

更新 Windows 登錄中的設定資料庫連接字串

在執行 Microsoft Dynamics CRM Server 角色的所有伺服器 (包括 Microsoft Dynamics CRM 報表擴充功能 伺服器),更新每個 Windows 登錄 的 SQL Server 連接字串。 若要這麼做,請執行下列步驟。

警告

如果您使用登錄編輯程式或其他方法修改登錄時不正確,就可能發生嚴重的問題。 這些問題可能導致需要重新安裝作業系統和 Microsoft Dynamics CRM。 我們無法保證這些問題均能解決。 修改登錄的風險請自負。

  1. 在執行 Microsoft Dynamics CRM Server 角色的電腦上,啟動 登錄編輯程式 並尋找下列登錄機碼子機碼:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\

  2. configdb 上按一下滑鼠右鍵,然後按一下 [修改]。

    1. 如果 [Failover Partner=MSCRM_Mirror] 存在,請從值中移除此項。

    2. 將 [資料來源] 從 SQL Server 執行個體名稱變更為可用性群組接聽程式名稱。

      完整的連接字串應該看起來類似下列範例 (其中 MSCRMAG 是包含 Microsoft Dynamics 365 設定資料庫之可用性群組的接聽程式名稱):

      Data Source MSCRMAG;Initial Catalog= MSCRM_CONFIG;Integrated Security=SSPI

      提示

      接聽程式名稱可以在 SQL Server Management Studio 中的 [可用性群組] 節點底下找到。

    3. 如果您使用接聽程式,請在 configdb 值的結尾加上 ;multisubnetfailover=true 以形成連接字串。其他資訊:高可用性、嚴重損壞修復的 SqlClient 支援

      多個子網路的完整 configdb 值應該看起來如下:

      Data Source MSCRMAG;Initial Catalog= MSCRM_CONFIG;Integrated Security=SSPI;multisubnetfailover=true

  3. 按一下 [確定],然後關閉登錄編輯程式。

  4. 重複上述步驟,為執行 Microsoft Dynamics CRM Server 角色的每台伺服器 (包括執行 Microsoft Dynamics CRM 報表擴充功能 的伺服器) 的設定子機碼新增連接字串。

更新設定資料庫中的連接字串

在設定資料庫中更新組織表格以指定用戶端連接字串的可用性群組接聽程式名稱。 要這麼做,請針對設定 (MSCRM_CONFIG) 資料庫執行下列更新陳述式。

警告

請先備份 Microsoft Dynamics 365 設定資料庫 (MSCRM_CONFIG),再執行這些更新陳述式。

Update Organization set ConnectionString = 'Provider=SQLOLEDB;Data Source=AG_Listener_Name;Initial Catalog=OrganizationName_MSCRM;Integrated Security=SSPI';MultiSubnetFailover=True' where DatabaseName = 'OrganizationName_MSCRM'
  • 以 Microsoft Dynamics 365 組織資料庫所位在的可用性群組接聽程式名稱來取代 AG_Listener_Name

  • OrganizationName_MSCRM 取代為組織資料庫的名稱。

使用其他可用參數

另外,如果您針對可用性群組接聽程式使用 1433 以外的連接埠號,請在是網路連接埠號 Port_Number 為網路可用號加入以下參數。

Update Organization set ConnectionString = 'Provider=SQLOLEDB;Data Source=AG_Listener_Name,Port_Number;Initial Catalog=OrganizationName_MSCRM;Integrated Security=SSPI;multisubnetfailover=true' where DatabaseName = 'OrganizationName_MSCRM'

重新啟動 IIS 和 Microsoft Dynamics CRM 服務

完成這些變更之後,請在執行 Web 應用程式伺服器 角色的電腦上,重設 IIS。

警告

所有使用中 Microsoft Dynamics 365 使用者都將中斷連線。

做法是按一下 [開始],再按一下 [執行]。 在 [開啟] 方塊中,輸入 iisreset,然後按一下 [確定]。

在所有已安裝 Microsoft Dynamics CRM Server 2013 功能的伺服器上,重新啟動部署中的所有 Microsoft Dynamics 365 服務。

監控可用性群組並測試容錯移轉

Microsoft SQL Server 2012 Management Studio 包含可讓您輕鬆檢視可用性群組狀態和執行手動容錯移轉的功能。

檢視可用性群組狀態

  1. 啟動 SQL Server Management Studio,然後連線至屬於可用性群組中之主要複本的 SQL Server 執行個體。

  2. 在 SQL Server Management Studio 中,展開 [可用性群組],以滑鼠右鍵按一下您為 Microsoft Dynamics 365 建立的可用性群組,然後按一下 [顯示儀表板]。

儀表板會顯示所有複本和同步處理狀態。 請注意,您可以從可用性群組中的任何複本檢視儀表板。

測試容錯移轉

  1. 確認 Microsoft Dynamics 365 是否可以連線至可用性群組。 例如,啟動 Internet Explorer,然後連線至 Microsoft Dynamics 365 組織 URL。

  2. 在先前程序描述的儀表板中,按一下 [啟動容錯移轉精靈] 以開始容錯移轉程序。

  3. 依照精靈中的指示完成容錯移轉。

    成功容錯移轉之後,主要複本會變成次要複本,而次要複本則變成主要複本。

  4. 切換到連線至 Microsoft Dynamics 365 組織的網頁瀏覽器,然後按一下應用程式的任何位置,確認是否可以順暢連線至新的主要複本。

若要切換回到原本的主要與次要複本,請再次於新的主要複本中執行手動容錯移轉程序。

另請參閱

安裝或升級 Microsoft Dynamics CRM Server
容錯移轉叢集逐步指南:設定兩節點檔案伺服器容錯移轉叢集
升級 Microsoft Dynamics CRM Server

© 2016 Microsoft Corporation. 著作權所有,並保留一切權利。 著作權