Skype for Business サーバー 2015 でバックエンド サーバーの高可用性の SQL ミラーリングをデプロイする

SQL ミラーリングを展開できるようにするには、サーバーで最小限の SQL Server 2008 R2 を実行する必要があります。 このバージョンは、すべての関連サーバー (プライマリ、ミラー、およびミラーリング監視の各サーバー) で実行する必要があります。 詳細については、「SQL Server 2008 Service Pack 1 の累積的な更新プログラム パッケージ 9」を参照してください。

一般に、2 つのバックエンド サーバー間での SQL ミラーリングを設定するには、以下の要件を満たしている必要があります。

  • プライマリ サーバーのバージョンのSQL Serverでは、SQL ミラーリングがサポートされている必要があります。

  • プライマリ、ミラー、およびミラーリング監視 (展開されている場合) の各 SQL Server が同一バージョンである。

  • プライマリとミラーには、同じエディションのSQL Serverが必要です。 ミラーリング監視サーバーのエディションが異なる場合があります。

ミラーリング監視ロールでサポートされる SQL バージョンに関する SQL ベスト プラクティスについては、「 データベース ミラーリング監視」を参照してください。

トポロジ ビルダーを使用して SQL ミラーリングをデプロイします。 トポロジ ビルダーでオプションを選択してデータベースをミラーし、トポロジビルダーはトポロジを公開するときにミラーリングを設定します (必要に応じてミラーリング監視の設定も含む)。 ミラーリング監視は、ミラーの設定または削除と同時に設定または削除することに注意してください。 ミラーリング監視のみ展開または削除する独立したコマンドはありません。

サーバー ミラーリングを構成するには、最初に SQL データベース アクセス許可を正しく設定する必要があります。 詳細については、「データベース ミラーリングまたは AlwaysOn 可用性グループのログイン アカウントの設定 (SQL Server)」を参照してください。

SQL ミラーリングでは、データベース復旧モードは常に Full に設定されます。つまり、バックエンド サーバーのディスク領域が不足しないように、トランザクション ログのサイズを注意深く監視し、トランザクション ログを定期的にバックアップする必要があります。 トランザクション ログ バックアップの頻度はログの増加率によって異なります。これは、フロントエンド プールでのユーザー アクティビティによって発生するデータベース トランザクションによって異なります。 計画を適切に実行できるように、デプロイ ワークロードに対して予想されるトランザクション ログの増加量を決定することをお勧めします。 次の記事では、SQL バックアップとログ管理に関する追加情報を提供します。

SQL ミラーリングでは、ミラーリングのトポロジの構成を、プールの作成時、またはプールが既に作成された後のどちらでも行うことができます。

重要

トポロジ ビルダーまたはコマンドレットを使用して SQL ミラーリングを設定および削除することは、プライマリ、ミラー、および監視 (必要に応じて) サーバーがすべて同じドメインに属している場合にのみサポートされます。 異なるドメインのサーバーに SQL ミラーリングを設定する場合は、SQL Server のドキュメントを参照してください。

重要

バックエンド データベース ミラーリング関係を変更するたびに、プール内のすべてのフロントエンド サーバーを再起動する必要があります。 >ミラーリングの変更 (ミラーの場所の変更など) については、トポロジ ビルダーを使用して次の 3 つの手順を実行する必要があります。

  1. 古いミラー サーバーからミラーリングを削除します。

  2. 新しいミラー サーバーにミラーリングを追加します。

  3. トポロジを公開します。

注意

書き込むミラー ファイルのファイル共有を作成する必要があり、SQL Serverと SQL エージェントが実行されているサービスには読み取り/書き込みアクセス権が必要です。 SQL Server サービスが Network Service のコンテキストで実行されている場合は、プリンシパルとミラー SQL Server の両方の Domain>\<SQLSERVERNAME>$ を共有アクセス許可に追加<できます。 $ は、これがコンピューター アカウントであることを識別するために重要です。

トポロジ ビルダーでプールの作成中に SQL ミラーリングを構成するには

  1. [SQL ストアの定義] ページで、[SQL ストア] ボックスの隣にある [新規作成] をクリックします。

  2. [新しい SQL ストアの定義] ページで、プライマリ ストアを指定し、[この SQL インスタンスはミラーリングの関係にある ] を選択して、SQL ミラーリングのポート番号 (既定値は 5022) を指定したうえで [OK] をクリックします。

  3. [SQL ストアの定義] ページに戻ったら、[SQL ストアのミラーリングを有効にする] を選択します。

  4. [新しい SQL ストアの定義] ページで、ミラーとして使用する SQL ストアを指定します。 [ この SQL インスタンスはミラーリング関係にあります] を選択し、ポート番号 (既定値は 5022) を指定し、[ OK] をクリックします。

  5. このミラーのミラーリング監視が必要な場合は、以下の操作を実行します。

    a. [SQL ミラーリング監視を使用して自動フェールオーバーを有効にする] を選択します。

    b. [SQL ストアの定義] ページで、[SQL ミラーリング監視を使用して自動フェールオーバーを有効にする] を選択し、ミラーリング監視として使用する SQL ストアを指定します。

    c. ポート番号 (既定値は 7022) を指定し、[OK] をクリックします。

  6. フロントエンド プールとトポロジ内の他のすべてのロールの定義が完了したら、トポロジ ビルダーを使用してトポロジを発行します。 トポロジが発行されると、中央管理ストアをホストするフロントエンド プールで SQL ミラーリングが有効になっている場合は、プライマリデータベースとミラー SQL ストア データベースの両方を作成するオプションが表示されます。

    [設定] をクリックし、ミラーリング バックアップのファイル共有として使用するパスを入力します。

    [OK]、[次へ] の順にクリックして、データベースを作成し、トポロジを公開します。 ミラーリングとミラーリング監視 (指定した場合) が展開されます。

トポロジ ビルダーを使用して、既存のプールのプロパティを編集して SQL ミラーリングを有効にすることができます。

トポロジ ビルダーで既存のフロントエンド プールに SQL ミラーリングを追加するには

  1. トポロジ ビルダーで、プールを右クリックし、[ プロパティの編集] をクリックします。

  2. [SQL ストアのミラーリングを有効にする] を選択し、[ミラーリング SQL ストア] の横にある [新規作成] をクリックします。

  3. ミラーとして使用する SQL ストアを指定します。

  4. [この SQL インスタンスはミラーリングの関係にある] を選択し、SQL ミラーリングのポート番号 (既定のポートは 5022 番) を指定して、[OK] をクリックします。

  5. ミラーリング監視を構成する場合は、[SQL ミラーリング監視を使用して自動フェールオーバーを有効にする] を選択し、[新規作成] をクリックします。

  6. ミラーリング監視として使用する SQL ストアを指定します。

  7. [この SQL インスタンスはミラーリングの関係にある] を選択し、SQL ミラーリングのポート番号 (既定のポートは 7022 番) を指定して、[OK] をクリックします。

  8. [OK] をクリックします。

  9. トポロジを公開します。 この操作を行うと、データベースをインストールするように求められます。

    トポロジ公開プロセスでは、ファイル共有パスの入力を求められます。 ミラーリングを確立するには、ミラーリングに参加するすべての SQL Server に、このファイル共有への読み取り/書き込みのアクセス権が必要です。

その場合、次の手順に進む前にデータベースをインストールする必要があります。

SQL ミラーリングの設定時には次の点に留意する必要があります。

  • 既に存在するミラーリング エンドポイントは、そこに定義されたポートを使用して再利用され、トポロジ内で指定したポートは無視されます。

  • 同じサーバー上の他のアプリケーションに既に割り当てられたポート (他の SQL インスタンス用のポートを含みます) は、ここでインストールする SQL インスタンスでは使用しないでください。 これは、複数の SQL インスタンスを同じサーバー上にインストールしている場合、それらのインスタンスは同じポートをミラーリングに使用してはならないことを意味します。 詳細については、以下の記事を参照してください。

Skype for Business Server 2015 管理シェル コマンドレットを使用した SQL ミラーリングのセットアップ

ミラーリングを設定する最も簡単な方法は、トポロジ ビルダーを使用することですが、コマンドレットを使用して行うこともできます。

  1. Skype for Business Server 2015 管理シェル ウィンドウを開き、次のコマンドレットを実行します。

    Install-CsMirrorDatabase [-ConfiguredDatabases] [-ForInstance] [-ForDefaultInstance] [-DatabaseType <Application | Archiving | CentralMgmt | Monitoring | User | BIStaging | PersistentChat | PersistentChatCompliance >] -FileShare <fileshare> -SqlServerFqdn <primarySqlserverFqdn> [-SqlInstanceName] [-DatabasePathMap] [-ExcludeDatabaseList] [-DropExistingDatabasesOnMirror] -Verbose
    

    次に例を示します。

    Install-CsMirrorDatabase -ConfiguredDatabases -FileShare \\PRIMARYBE\csdatabackup -SqlServerFqdn primaryBE.contoso.com -DropExistingDatabasesOnMirror -Verbose
    

    以下のように表示されます。

    Database Name:rtcxds
         Data File:D:\CsData\BackendStore\rtc\DbPath\rtcxds.mdf
          Log File:D:\CsData\BackendStore\rtc\LogPath\rtcxds.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:rtcshared
         Data File:D:\CsData\BackendStore\rtc\DbPath\rtcshared.mdf
          Log File:D:\CsData\BackendStore\rtc\LogPath\rtcshared.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:rtcab
         Data File:D:\CsData\ABSStore\rtc\DbPath\rtcab.mdf
          Log File:D:\CsData\ABSStore\rtc\LogPath\rtcab.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:rgsconfig
         Data File:D:\CsData\ApplicationStore\rtc\DbPath\rgsconfig.mdf
          Log File:D:\CsData\ApplicationStore\rtc\LogPath\rgsconfig.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:rgsdyn
         Data File:D:\CsData\ApplicationStore\rtc\DbPath\rgsdyn.mdf
          Log File:D:\CsData\ApplicationStore\rtc\LogPath\rgsdyn.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:cpsdyn
         Data File:D:\CsData\ApplicationStore\rtc\DbPath\cpsdyn.mdf
          Log File:D:\CsData\ApplicationStore\rtc\LogPath\cpsdyn.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:xds
         Data File:D:\CsData\CentralMgmtStore\rtc\DbPath\xds.mdf
          Log File:D:\CsData\CentralMgmtStore\rtc\LogPath\xds.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
     Database Name:lis
         Data File:D:\CsData\CentralMgmtStore\rtc\DbPath\lis.mdf
          Log File:D:\CsData\CentralMgmtStore\rtc\LogPath\lis.ldf
       Primary SQL: e04-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\e04-ocs$
        Mirror SQL: K16-ocs.los_a.lsipt.local\rtc
           Account: LOS_A\K16-ocs$
      Witness SQL : AB14-lct.los_a.lsipt.local\rtc
           Account: LOS_A\AB14-lct$
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
    
  2. 次のことを確認します。

    • プライマリ SQL Server e04-ocs.los_a.lsipt.local\rtc で Windows ファイアウォールが有効になっている場合は、ポート 5022 がファイアウォール経由でアクセスできる。

    • ミラー SQL Server K16-ocs.los_a.lsipt.local\rtc で Windows ファイアウォールが有効になっている場合は、ポート 5022 がファイアウォール経由でアクセスできる。

    • ミラーリング監視 SQL Server AB14-lct.los_a.lsipt.local\rtc で Windows ファイアウォールが有効になっている場合は、ポート 7022 がファイアウォール経由でアクセスできる。

    • すべてのプライマリおよびミラー SQL サーバーで SQL Server を実行しているアカウントには、ファイル共有 \E04-OCS\csdatabackup に対する読み取り/書き込みアクセス許可があります

    • これらすべてのサーバーで、Windows Management Instrumentation (WMI) プロバイダーが実行されている。 コマンドレットでは、このプロバイダーを使用して、すべてのプライマリ サーバー、ミラー サーバー、およびミラーリング監視サーバーで実行されている SQL Server サービスのアカウント情報が検索されます。

    • このコマンドレットを実行しているアカウントに、すべてのミラー サーバーのデータおよびログ ファイル用のフォルダーを作成するためのアクセス許可がある。

    • SQL インスタンスの実行に使用するユーザー アカウントに、ファイル共有に対する読み取り/書き込みアクセス許可が必要であることに注意してください。 ファイル共有が別のサーバーにあり、SQL インスタンスがローカル システム アカウントを実行している場合は、SQL インスタンスをホストするサーバーへのファイル共有アクセス許可を付与する必要があります。

  3. 「A」と入力し、Enter キーを押します。

    ミラーリングの構成が行われます。

    Install-CsMirrorDatabase は、ミラーをインストールし、プライマリ SQL ストアに存在するすべてのデータベースのミラーリングを構成します。 特定のデータベースに対してのみミラーリングを構成する場合は、-DatabaseType オプションを使用できます。または、一部を除くすべてのデータベースに対してミラーリングを構成する場合は、-ExcludeDatabaseList オプションと、除外するデータベース名のコンマ区切りのリストを使用できます。

    たとえば、次のオプションを Install-CsMirrorDatabase に追加した場合は、rtcab と rtcxds を除くすべてのデータベースがミラーリングされます。

    -ExcludeDatabaseList rtcab,rtcxds

    たとえば、次のオプションを Install-CsMirrorDatabase に追加した場合は、rtcab、rtcshared、および rtcxds データベースのみがミラーリングされます。

    -DatabaseType User

SQL ミラーリングの削除または変更

トポロジ ビルダーのプールの SQL ミラーリングを削除するには、最初にコマンドレットを使用して、SQL Server のミラーを削除する必要があります。 次に、トポロジ ビルダーを使用して、トポロジからミラーを削除できます。 SQL Server でミラーを削除するには、次のコマンドレットを使用します。

Uninstall-CsMirrorDatabase -SqlServerFqdn <SQLServer FQDN> [-SqlInstanceName <SQLServer instance name>] -DatabaseType <Application | Archiving | CentralMgmt | Monitoring | User | BIStaging | PersistentChat | PersistentChatCompliance> [-DropExistingDatabasesOnMirror] [-Verbose]

たとえば、ミラーリングを削除し、User データベースのデータベースを削除するには、次のように入力します。

Uninstall-CsMirrorDatabase -SqlServerFqdn primaryBE.contoso.com -SqlInstanceName rtc -Verbose -DatabaseType User -DropExistingDatabasesOnMirror

この-DropExistingDatabasesOnMirrorオプションを選択すると、影響を受けるデータベースがミラーから削除されます。

その後、トポロジからミラーを削除するために次の操作を行います。

  1. トポロジ ビルダーで、プールを右クリックし、[プロパティの編集] をクリックします。

  2. [SQL ストアのミラーリングを有効にする] チェック ボックスをオフにし、[OK] をクリックします。

  3. トポロジを公開します。

ミラーリング監視の削除

バックエンド サーバー ミラーリング構成から監視を削除する必要がある場合は、この手順を使用します。

  1. トポロジ ビルダーで、プールを右クリックし、[プロパティの編集] をクリックします。

  2. [SQL Server ミラーリング監視を自動フェールオーバーの有効化のために使用] をオフにし、[OK] をクリックします。

  3. トポロジを公開します。

    トポロジを発行すると、トポロジ ビルダーに次のようなメッセージが表示されます。

    Run the Uninstall-CsMirrorDatabase cmdlet to remove databases that are paired with following primary databases.
    

    ただし、その手順に従わないでください。また、ミラーリング構成全体をアンインストールするように入力 Uninstall-CsMirrorDatabase しないでください。

  4. SQL Server構成からミラーリング監視のみを削除するには、「データベース ミラーリング セッションからのミラーリング監視の削除 (SQL Server)」の手順に従います。