エクスポート (0) 印刷
すべて展開

SQL Server 2012 の AlwaysOn フェールオーバーの構成データベースと組織のデータベースを設定する

適用対象: CRM 2015 on-prem

Microsoft SQL Server 2012 AlwaysOn フェールオーバー クラスター インスタンス (FCI) および AlwaysOn 可用性グループは、包括的な高可用性および障害復旧のソリューションを提供します。このトピックでは、Microsoft Dynamics CRM Server の既存の設置型展開を構成して、構成と組織のデータベースを、可用性グループを使用する 2 ノードの SQL Server 2012 AlwaysOn のフェールオーバー クラスター インスタンスの一部とする方法を説明します。

Important重要
Microsoft SQL Server 2012 AlwaysOn FCI に既に構成済みの Microsoft Dynamics CRM 構成と組織のデータベースをアップグレードする場合、この手順を再度実行する必要はありません。

これらの SQL Server 2012 高可用性のソリューションの詳細については、AlwaysOn フェールオーバー クラスター インスタンス および AlwaysOn 可用性グループを参照してください。

このトピックの内容

前提条件

SQL Server 2012 の AlwaysOn を有効にします。

可用性のグループの作成

すべてのセカンダリ レプリカで Microsoft Dynamics CRM セキュリティ グループの SQL ログインを作成する

Windows レジストリ内の構成データベース接続文字列を更新する

構成データベースの接続文字列を更新する

IIS および Microsoft Dynamics CRM サービスの再起動

フェールオーバーの可用性グループとテストを監視する

前提条件

このトピックでは、次の要素を必要とする単純な 2 サーバー インスタンス フェールオーバー クラスターが構成されます:

  • SAN、NAS、または Windows Storage Server など、共有記憶域のある 2 ノード フェールオーバー クラスタ構成で実行している 2 台の Windows Server 2012 サーバー。

  • SQL Server 2012 AlwaysOn インスタンス フェールオーバー クラスターのレプリカとなる Windows Server 2012 上で SQL Server 2012 を実行する 2 台のサーバー。SQL Server の主レプリカ インスタンスに、構成 (MSCRM_CONFIG) および組織 (OrganizationName_MSCRM) データベースの両方があります。

    どのバージョンの SQL Server 2012 が AlwaysOn をサポートするかに関する詳細は、高可用性 (AlwaysOn) を参照してください。SQL Server 2012 のフェールオーバー クラスターの作成方法に関する詳細は、新しい SQL Server のフェールオーバー クラスター (セットアップ) を参照してください。

SQL Server 2012 の AlwaysOn を有効にします。

AlwaysOn 機能を確立する以下の手順では Microsoft SQL Server 2012 Management Studio を使用します。また、Transact-SQL または SQL Server PowerShellを使用できます。詳細 : AlwaysOn 可用性グループ (SQL Server) の開始を参照してください

  1. SQL Server 構成マネージャー では、主レプリカとセカンダリ レプリカで AlwaysOn 可用性グループを有効にします。詳細な手順については、「AlwaysOn 可用性グループの有効化」を参照してください。

  2. SQL Server Management Studio では、可用性のグループを作成します。つまり、構成データベースと組織のデータベース、主レプリカとセカンダリのレプリカを指定します。詳細 : 可用性グループ (SQL Server) の作成と構成を参照してください

可用性のグループの作成

次の手順では、Microsoft Dynamics CRM 構成データベースと単一の組織のデータベースを含む単一の SQL Server 2012 可用性グループを作成します。また、リスナーは、可用性グループに追加されます。

  1. 主レプリカとなる SQL Server で、SQL Server Management Studio を開始します。

  2. オブジェクト エクスプローラーで、[AlwaysOn 高可用性] を右クリックし、[新しい可用性グループのウィザード] をクリックします。

  3. ウィザードが表示されたら、[次へ] をクリックします。

  4. [名前の指定] ページで、可用性グループの名前 (Dynamics CRMなど) を入力し、[次へ] をクリックします。

  5. [データベースの選択] ページで、MSCRM_CONFIG および OrganizationName_MSCRM データベースを選択し、[次へ] をクリックします。

    Important重要
    可用性のグループへのデータベースの追加に関する、以下の要件に注意してください:

    • 復旧モデルを "完全" に設定する必要があります。既定では、組織のデータベース (OrganizationName_MSCRM)は、"簡易" に設定されます。

    • データベースの完全バックアップが必要です。

  6. [レプリカの指定] ページで、[レプリカの追加] をクリックし、[サーバー名] ボックスにレプリカ SQL Server の名前 (この例では CRMNode2 など) を入力し、[接続] をクリックします。レプリカ サーバー インスタンスは [サーバー インスタンス] リストに表示されます。

  7. [Endpoints] タブをクリックし、両方のレプリカが一覧に含まれていることを確認します。SQL Server サービス アカウント にスクロールし、ドメイン ユーザー アカウントが指定されていることを確認します。SQL Server サービスのドメイン ユーザー アカウントが、SQL Server のフェールオーバー クラスタリングに必要です。

  8. [リスナー] タブをクリックします。可用性グループのリスナーにより、複数のサブネットのシナリオで、簡単にクライアント接続のフェールオーバーができます。次の情報を入力します。

    • リスナー DNS 名: リスナーの名前を入力します。

    • リスナーの作成を完了するには、TCP ポートを指定し、[静的 IP][ネットワーク モード] を設定します。[追加] をクリックして IP アドレスを入力し、[OK] をクリックします。これらのプロパティの詳細については、新しい可用性グループ ウィザードのヘルプをクリックします。

      [次へ] をクリックします。

  9. また、レプリカに対して追加の変更が必要か判断し、[次へ] をクリックします。詳細については、新しい可用性グループ ウィザードのヘルプをクリックします。

    1. [データ同期の選択] ページで、データ同期方法を選択します。[フル] を選択し、すべてのレプリカからアクセスできるネットワーク共有を追加する必要があります。SQL Server サービス アカウントには、共有するために read\write アクセス許可が必要とされることに注意してください。詳細については、新しい可用性グループ ウィザードのヘルプをクリックします。

      [次へ] をクリックします。

  10. 可用性新しいグループの検証チェックを実行する [検証] ページが表示されます。エラーは、可用性のグループを作成する前に修正する必要があります。[次へ] をクリックします。

  11. [サマリ] ページで、選択が正しいことを確認し、[完成] をクリックします。

すべてのセカンダリ レプリカで Microsoft Dynamics CRM セキュリティ グループの SQL ログインを作成する

セカンダリ レプリカで Microsoft Dynamics CRM セキュリティ グループの SQL ログインを作成します。これを行うには、次の手順を実行します。

  1. SQL Server Management Studio を起動し、セカンダリ SQL Server レプリカ (CRMNode2) に接続します。

  2. [セキュリティ] ノードを展開し、[ログイン] を右クリックして [新しいログイン] をクリックします。

  3. [ログイン] 名前ボックスで、[検索] をクリックし、[グループ] が [このオブジェクトの種類を選択] に含まれていることを確認します。含まれていない場合は、[オブジェクトの種類] をクリックし、追加します。DomainName\PrivReportingGroup を入力し、[名前の確認] をクリックし、名前が正しく解決する場合は、[OK] をクリックします。

    noteメモ
    実際の PrivReportingGroup 名が異なることがあります。名前が Active Directory にあることを確認します。

  4. 次のセキュリティ グループに対して、手順 2 ~ 3 を繰り返します。

    • ReportingGroup

    • SQLAccessGroup

MSCRMSqlClrLogin SQL ログインを作成する

  1. MSCRMSqlClrLogin SQL ログインの非対称的なキーを作成する

    すべてのセカンダリ レプリカで、次の SQL ステートメントを master データベースに対して実行し、<path> が Microsoft.Crm.SqlClr.Helper.dll ファイル(展開ツールのサーバーの役割がインストールされたサーバーにある)へのパスである非対称的なキーを作成します。たとえば、\crmdeploymenttools\CRMshare\Tools\ のような共有場所に UNC のパスを指定します。既定では、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 ログインを作成する

    MSCRMSqlClrLogin SQL ログインを作成するには master データベースに対して、次の SQL ステートメントを実行します。

    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 レポート拡張機能 サーバーを含む、Microsoft Dynamics CRM Server の役割を実行しているすべてのサーバー上の Windows レジストリ にある、SQL Server 接続文字列を更新します。これを行うには、以下の手順を実行します。

Warning警告
レジストリ エディターまたは別の方法を使用してレジストリを不適切に変更すると、深刻な問題が発生する可能性があります。これらの問題が発生した場合、オペレーティング システムと 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 CRM 構成データベースを含む可用性グループの可用性グループ リスナー名です。

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

      Tipヒント
      リスナーの名前は SQL Server Management Studioの 可用性グループ ノード下で確認できます。

    3. リスナーを使用している場合、接続文字列を作成するには、; multisubnetfailover=true を configdb 値の最後に追加します。詳細 : 高可用性、障害復旧のための SqlClient サポート

      複数のサブネットの完全 configdb 値は、次のように表示されている必要があります。

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

  3. [OK] をクリックし、レジストリ エディターを閉じます。

  4. Microsoft Dynamics CRM Server ロールを実行している各サーバー(Microsoft Dynamics CRM レポート拡張機能を実行しているサーバーを含む)の構成サブキーに接続文字列を追加するには、上記の手順を繰り返します。

構成データベースの接続文字列を更新する

構成データベースの組織テーブルを更新して、クライアント接続文字列の可用性グループ リスナー名を指定します。このためには、構成 (MSCRM_CONFIG) データベースに対して、次の更新ステートメントを実行します。

Warning警告
次の更新ステートメントを実行する前に、Microsoft Dynamics CRM 構成データベース (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'
  • AG_Listener_Name を、Microsoft Dynamics CRM 組織のデータベースが配置される可用性グループ リスナーの名前に変更します。

  • 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 をリセットします。

Warning警告
すべてのアクティブな Microsoft Dynamics CRM ユーザーは切断されている状態です。

これを行うには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[開く] ボックスで、iisreset と入力して、[OK] をクリックします。

Microsoft Dynamics CRM Server 2013 機能がインストールされているすべてのサーバーの展開で、すべての Microsoft Dynamics CRM サービスを再起動します。

フェールオーバーの可用性グループとテストを監視する

Microsoft SQL Server 2012 Management Studio には、可用性のグループの状態を確認して、手動で簡単にフェールオーバーを実行する機能が含まれます。

  1. SQL Server Management Studio を開始して、可用性グループの主レプリカである SQL Server のインスタンスに接続します。

  2. SQL Server Management Studioで、[可用性グループ] を展開し、Microsoft Dynamics CRM 用に作成した可用性グループを右クリックし、[ダッシュボードの表示] をクリックします。

ダッシュボードでは、すべてのレプリカと同期の状態を表示します。可用性グループの任意のレプリカがらダッシュボードを表示できることに注意してください。

  1. Microsoft Dynamics CRM が可用性グループに接続できることを確認します。たとえば、Internet Explorer を起動し、Microsoft Dynamics CRM 組織の URL に接続します。

  2. 前の手順で説明されてしたダッシュボードから、フェールオーバー プロセスを開始するには [フェールオーバーのウィザードを開始] をクリックします。

  3. ウィザードの指示に従って、フェールオーバーを完了します。

    フェールオーバーが完了すると、主レプリカはセカンダリ レプリカに、セカンダリ レプリカは、主レプリカになります。

  4. Microsoft Dynamics CRM 組織に接続された Web ブラウザを切り替えて、アプリケーションのどこかをクリックして新しい主レプリカにシームレスに接続できることを確認します。

元の主レプリカとセカンダリ レプリカへ切り替え、新しいレプリカで手動のフェールオーバーの手順を実行します。

関連項目

Send comments about this article to Microsoft.

© 2014 Microsoft Corporation. All rights reserved.
この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

追加
表示:
© 2014 Microsoft