SQL Server レプリケーションを使用した地理的な冗長性の設定

重要

AD FS ファームを作成し、SQL Server を使用して構成データを保存する場合は、SQL Server 2008 以降のバージョンを使用できます。

SQL Server を AD FS 構成データベースとして使用している場合は、SQL Server レプリケーションを使用して、AD FS ファームの geo 冗長性を設定できます。 Geo 冗長性は、アプリケーションがあるサイトから別のサイトに切り替えることができるように、地理的に離れた 2 つのサイト間でデータをレプリケートします。 これにより、1 つのサイトで障害が発生した場合でも、2 番目のサイトですべての構成データを使用できるようになります。 詳細については、「SQL Server を使用したフェデレーションサーバーファーム」の「地理的冗長性の SQL Server」セクションを参照してください。

前提条件

SQL サーバー ファームのインストールと構成。 詳細については、「https://technet.microsoft.com/evalcenter/hh225126.aspx」を参照してください。 最初の SQL Server で、SQL Server エージェント サービスが実行されていて、[自動開始] に設定されていることを確認します。

geo 冗長性のための 2 番目 (レプリカ) の SQL Server を作成する

  1. SQL Server をインストールします (詳細については、「https://technet.microsoft.com/evalcenter/hh225126.aspx」を参照して ください。 生成された CreateDB.sql および SetPermissions.sql スクリプト ファイルをレプリカ SQL サーバーにコピーします。

  2. SQL Server エージェント サービスが実行中で、自動開始に設定されていることを確認してください

  3. プライマリ AD FS ノードで Export-AdfsDeploymentSQLScript を実行して、CreateDB.sql ファイルと SetPermissions.sql ファイルを作成します。 たとえば、PS:\>Export-AdfsDeploymentSQLScript -DestinationFolder . –ServiceAccountName CONTOSO\gmsa1$ となります。 Screenshot that shows how to run the Export-AdfsDeploymentSQLScript on the primary AD FS node.

  4. スクリプトをセカンダリ サーバーにコピーします。 SQL Management Studioで CreateDB.sql スクリプトを開き、[実行] をクリックします。 Screenshot that shows the open the CreateDB.sql script in SQL Management Studio.

  5. SQL Management Studioで SetPermissions.sql スクリプトを開き、[実行] をクリックします。 Screenshot that shows the open the SetPermissions.sql script in SQL Management Studio.

Note

また、コマンドラインから次のコードを使用することもできます。

c:\>sqlcmd –i CreateDB.sql

c:\>sqlcmd –i SetPermissions.sql

初期 SQL Server に発行者設定を作成する

  1. SQL Server Management Studio の [レプリケーション] で、[ローカル パブリケーション] を右クリックして [新しいパブリケーション...] を選びます Screenshot that shows the New Publication menu option.

  2. パブリケーションの新規作成ウィザードで、[次へ] をクリックします。
    Screenshot that shows the New Publication Wizard screen.

  3. [ディストリビューター] ページで、ディストリビューターとしてローカルサーバーを選択し、[次へ] をクリックします。 Screenshot that that shows where to choose the local server as distributor.

  4. [スナップショット] フォルダー ページで、既定のフォルダーの代わりに「\\SQL1\repldata」と入力します。 (注: この共有は自分で作成する必要がある場合があります)。 Screenshot that shows where to enter the path to the default Snapshot folder.

  5. パブリケーション データベースとして AdfsConfigurationV3 を選択し、[次へ] をクリックします。 Screenshot that shows where to choose AdfsConfigurationV3 as the publication database.

  6. [パブリケーションの種類] で、[パブリケーションをマージ] を選択し、[次へ] をクリックします。 Screenshot that shows where

  7. [サブスクライバーの種類] でSQL Server 2008 以降を選択し、[次へ] をクリックします。 Screenshot that shows where to choose SQL Server 2008 or later.

  8. [アーティクル] ページで [テーブル] ノードを選んですべてのテーブルを選択してから、SyncProperties テーブルをオフにします (このテーブルをレプリケートしてはなりません)
    Screenshot that shows where to clear the SyncProperties (IdentityServerPolicy) check box.

  9. [アーティクル] ページで、[ユーザー定義関数] ノードを選択してすべてのユーザー定義関数を選択し、[次へ] をクリックします。 Screenshot that shows where to select the User Defined Functions check box.

  10. [アーティクルの問題] ページで、[次へ] をクリックします。 Screnshot that shows the Article Issues screen.

  11. [テーブル行のフィルター選択] ページで、[次へ] をクリックします。 Screenshot that shows the Filter Table Rows screen.

  12. [スナップショット エージェント] ページで、即時と 14 日間の規定値を選択し、[次へ] をクリックします。 Screenshot that shows the Snapshot Agent screen.
    SQL エージェント用のドメイン アカウントを作成することが必要な場合があります。 「ドメイン アカウント CONTOSO\sqlagent の SQL ログインの構成」の手順に従って、この新しい AD ユーザーの SQL ログインを作成し、特定のアクセス許可を割り当てます。

  13. [エージェント セキュリティ] ページで、[セキュリティ設定] をクリックし、SQL エージェント用に作成された (GMSA ではなく) ドメイン アカウントのユーザー名とパスワードを入力して、[OK] をクリックします。 次へをクリックします。 Screenshot that shows where to enter the username and password for the domain account.

  14. [ウィザードのアクション] ページで、[次へ] をクリックします。 Screenshot that shows the Wizard Actions screen.

  15. [ウィザードの完了] ページで、パブリケーションの名前を入力し、[完了] をクリックします。 Screenshot that shows where you enter a name for your publication.

  16. パブリケーションが作成されると、成功の状態が表示されます。 [閉じる] をクリックします。 Screenshot that shows the successful completion of the publication.

  17. SQL Server Management Studio に戻り、新しいパブリケーションを右クリックして、[レプリケーション モニターの起動] をクリックします。 Screenshot that shows the Launch Replication Monitor menu option.

レプリカ SQL Server でのサブスクリプション設定を作成する

前に説明したように、初期 SQL Server でパブリッシャー設定を作成したことを確認してから、次の手順を実行します:

  1. レプリカ SQL Server の SQL Server Management Studio で、[レプリケーション] の下の [ローカル サブスクリプション] を右クリックして [新しいサブスクリプション...] を選択します。 Screenshot that shows where to select New Subscription.

  2. [サブスクリプションの新規作成ウィザード] ページで、[次へ] をクリックします。 Screenshot that shows the New Subscription Wizard screen.

  3. [パブリケーション] ページで、ドロップダウンからパブリッシャーを選択します。 [AdfsConfigurationV3] を展開し、上で作成したパブリケーションの名前を選択して、[次へ] をクリックします。 Screenshot that shows where to expand AdfsConfigurationV3 and select the name of the name of the publication that you created.

  4. [エージェントの場所をマージ] ページで、[サブスクライバーで各エージェントを実行する (プル サブスクリプション)] を選択し、[へ] をクリックします。 Screenshot that shows the Run each agent at its Subscriber (pull subscriptions) option.
    これと、以下のサブスクリプションの種類により、競合解決ロジックが決まります。 (詳細については、「マージ レプリケーションの競合の検出および解決」を参照してください。

  5. [サブスクライバー] ページで、サブスクライバー データベースとして [AdfsConfigurationV3] を選択し、[次へ] をクリックします。 Screenshot that shows the Subscribers screen.

  6. [マージ エージェント セキュリティ] ページで、[...] をクリックし、省略記号ボックスを使用して SQL エージェント用に作成された (GMSA ではなく) ドメイン アカウントのユーザー名とパスワードを入力して、[次へ] をクリックします。 Screenshot that shows the Merge Agent Security screen.

  7. [同期スケジュール] で、[連続実行] を選択し、[次へ] をクリックします。 Screenshot that shows where to select Run continuously.

  8. [サブスクリプションの初期化] で、[次へ] をクリックします。 Screenshot that shows the Initialize Subscriptions screen.

  9. [サブスクリプションの種類] で、[クライアント] を選択し、[次へ] をクリックします。

    この点については、こちらこちらに記載されています。 基本的には、"最初からパブリッシャーへの優先" の競合解決をシンプルに行い、他のサブスクライバーに再パブリッシュする必要はありません。 Screenshot that shows the Subscription Type screen.

  10. [ウィザードのアクション] ページで、[サブスクリプションの作成] がオンになっていることを確認し、[次へ] をクリックします。 Screenshot that shows where verify that the Create the subscription option is selected.

  11. [ウィザードの完了] ページで、[完了] をクリックします。 Screenshot that shows the Complete the Wizard screen.

  12. サブスクリプションによって作成プロセスが完了すると、「成功」 と表示されます。 [閉じる] をクリックします。 Set up Geographic Redundancy

初期化とレプリケーションのプロセスを確認する

  1. プライマリ SQL サーバーで、[レプリケーション] ノードを右クリックし、[レプリケーションモニターの起動] をクリックします。

  2. レプリケーション モニターで、パブリケーションをクリックします。

  3. [すべてのサブスクリプション] タブで、[詳細を表示] を右クリックします。

    初期レプリケーションの [アクション] の下に多くのエントリが表示されます。

  4. さらに、[SQL サーバー エージェント\ジョブ] ノードの下で、パブリケーション/サブスクリプションの操作を実行するようにスケジュールされているジョブを確認できます。 ローカル ジョブのみが表示されます。そのため、トラブルシューティングがないか、パブリッシャーとサブスクライバーを確認してください。 ジョブを右クリックし、[履歴の表示] を選択して、実行履歴と結果を表示します。

ドメインアカウント CONTOSO\sqlagent の SQL ログインを構成する

  1. CONTOSO\sqlagent と呼ばれるプライマリおよびレプリカの SQL Server に新しいログインを作成します (前の手順で [エージェント セキュリティ] ページで作成および構成した新しいドメインユーザーの名前)

  2. SQL Server で、作成したログインを右クリックし、[プロパティ] を選択します。次に、[ユーザー マッピング] タブで、このログインを public ロールと db_genevaservice ロールを持つ AdfsConfiguration データベースと AdfsArtifact データベースにマップします。 また、このログインを配布用データベースにマップし、配布テーブルと adfsconfiguration テーブルの両方に db_owner ロールを追加します。 これは、プライマリとレプリカの両方の SQL サーバーで適用されます。 詳細については、「 レプリケーション エージェント セキュリティ モデル」を参照してください。

  3. 対応するドメイン アカウントに、ディストリビューターとして構成されている共有に対する読み取りと書き込みのアクセス許可を与えます。 共有のアクセス許可とローカル ファイルのアクセス許可の両方で、読み取りと書き込みのアクセス許可が設定されていることを確認してください。

SQL Server のレプリカ ファームを指すように AD FS ノードを構成します

geo 冗長の設定が完了したので、AD FS 構成ウィザードの UI または Windows PowerShell から標準 AD FS "結合" ファームの機能を使用して、レプリカ SQL Server ファームをポイントするように AD FS ファームノードを構成できます。

AD FS 構成ウィザードの UI を使用する場合は、[フェデレーションサーバー ファームにフェデレーションサーバーを追加する] を選択します。 [フェデレーション サーバー ファーム内に最初のフェデレーション サーバーを作成する] は選択しないでください。

Windows PowerShell を使用する場合は、 Add-AdfsFarmNodeを実行します。 Install-AdfsFarm実行しないでください。

プロンプトが表示されたら、初期 SQL サーバーではなく、レプリカ SQL Server のホスト名とインスタンス名を指定します。