次の方法で共有


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$ となります。 プライマリ AD FS ノードで Export-AdfsDeploymentSQLScript を実行する方法を示すスクリーンショット。

  4. スクリプトをセカンダリ サーバーにコピーします。 SQL Management Studioで CreateDB.sql スクリプトを開き、[実行] をクリックします。 SQL Management Studio で CreateDB.sql スクリプトを開いたところを示すスクリーンショット。

  5. SQL Management Studioで SetPermissions.sql スクリプトを開き、[実行] をクリックします。 SQL Management Studio で SetPermissions.sql スクリプトを開いたところを示すスクリーンショット。

注意

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

c:\>sqlcmd –i CreateDB.sql

c:\>sqlcmd –i SetPermissions.sql

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

  1. SQL Server Management Studio の Replication で、[ローカル パブリケーション 右クリックし 新しいパブリケーション 選択します。..[新しいパブリケーション] メニュー オプションを示すスクリーンショット。

  2. [パブリケーションの新規作成ウィザード] 画面で、[次へ.
    パブリケーションの新規作成ウィザード画面を示すスクリーンショット。 をクリックします。

  3. [ディストリビューター] ページで、ディストリビューターとしてローカルサーバーを選択し、[次へ] をクリックします。 ローカル サーバーをディストリビューターとして選択する場所を示すスクリーンショット。

  4. [スナップショット] フォルダー ページで、既定のフォルダーの代わりに「\\SQL1\repldata」と入力します。 (注: この共有は自分で作成する必要がある場合があります)。 既定のスナップショット フォルダーへのパスを入力する場所を示すスクリーンショット。

  5. パブリケーション データベースとして AdfsConfigurationV3 を選択し、[次へ] をクリックします。 パブリケーション データベースとして AdfsConfigurationV3 を選択する場所を示すスクリーンショット。

  6. [パブリケーションの種類] で、[パブリケーションをマージ] を選択し、[次へ] をクリックします。 場所を示すスクリーンショット

  7. [サブスクライバーの種類] でSQL Server 2008 以降を選択し、[次へ] をクリックします。 SQL Server 2008 以降を選択する場所を示すスクリーンショット。

  8. Articles ページで Tables ノードを選択してすべてのテーブルを選択し、SyncProperties テーブルを確認します (このテーブルはレプリケートしないでください)
    SyncProperties (IdentityServerPolicy) のチェック ボックスをオフにする場所を示すスクリーンショット。

  9. [アーティクル] ページで、[ユーザー定義関数] ノードを選択してすべてのユーザー定義関数を選択し、[次へ] をクリックします。 [ユーザー定義関数] チェック ボックスをオンにする場所を示すスクリーンショット。

  10. [アーティクルの問題] ページで、[次へ] をクリックします。 [アーティクルの問題点] 画面を示すスクリーンショット。

  11. [テーブル行のフィルター選択] ページで、[次へ] をクリックします。 [テーブル行のフィルター選択] 画面を示すスクリーンショット。

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

  13. [エージェント セキュリティ] ページで、[セキュリティ設定] をクリックし、SQL エージェント用に作成された (GMSA ではなく) ドメイン アカウントのユーザー名とパスワードを入力して、[OK] をクリックします。 [次へ] をクリックします。 ドメイン アカウントのユーザー名とパスワードを入力する場所を示すスクリーンショット。

  14. [ウィザードのアクション] ページで、[次へ] をクリックします。 [ウィザードのアクション] 画面を示すスクリーンショット。

  15. [ウィザードの完了] ページで、パブリケーションの名前を入力し、[完了] をクリックします。 パブリケーションの名前を入力する場所を示すスクリーンショット。

  16. パブリケーションが作成されると、成功の状態が表示されます。 [閉じる] をクリックします。 パブリケーションの正常な完了を示すスクリーンショット。

  17. SQL Server Management Studio に戻り、新しいパブリケーションを右クリックして、[レプリケーション モニターの起動] をクリックします。 [レプリケーション モニターの起動] メニュー オプションを示すスクリーンショット。

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

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

  1. レプリカ SQL Server の SQL Server で、SQL Server Management Studio の ReplicationLocal サブスクリプションを右クリックし新しいサブスクリプション...選択します。[新しいサブスクリプション] を選択する場所を示すスクリーンショット。

  2. [サブスクリプションの新規作成ウィザード] ページで、[次へ] をクリックします。 [サブスクリプションの新規作成ウィザード] 画面を示すスクリーンショット。

  3. [パブリケーション] ページで、ドロップダウンからパブリッシャーを選択します。 [AdfsConfigurationV3] を展開し、上で作成したパブリケーションの名前を選択して、[次へ] をクリックします。 AdfsConfigurationV3 を展開し、作成したパブリケーションの名前を選択する場所を示すスクリーンショット。

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

  5. [サブスクライバー] ページで、サブスクライバー データベースとして [AdfsConfigurationV3] を選択し、[次へ] をクリックします。 [サブスクリプション] 画面を示すスクリーンショット。

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

  7. [同期スケジュール] で、[連続実行] を選択し、[次へ] をクリックします。 [連続実行する] を選択する場所を示すスクリーンショット。

  8. [サブスクリプションの初期化] で、[次へ] をクリックします。 [サブスクリプションの初期化] 画面を示すスクリーンショット。

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

    この点については、こちらこちらに記載されています。 基本的には、"最初からパブリッシャーへの優先" の競合解決をシンプルに行い、他のサブスクライバーに再パブリッシュする必要はありません。 [サブスクリプションの種類] 画面を示すスクリーンショット。

  10. [ウィザードのアクション] ページで、[サブスクリプションの作成] がオンになっていることを確認し、[次へ] をクリックします。 [サブスクリプションの作成] オプションが選択されていることを確認する場所を示すスクリーンショット。

  11. [ウィザードの完了] ページで、[完了] をクリックします。 [ウィザードの完了] 画面を示すスクリーンショット。

  12. サブスクリプションによって作成プロセスが完了すると、「成功」 と表示されます。 [閉じる] をクリックします。 地理的な冗長性を設定する

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

  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 のホスト名とインスタンス名を指定します。