SQL Server データベース ミラーリングを使用して可用性を構成する (Project Server 2010)

 

適用先: Project Server 2010

トピックの最終更新日: 2017-01-18

Microsoft SQL Server データベース ミラーリングは、トランザクションをプリンシパル データベースおよびプリンシパル サーバーからミラー データベースおよびミラー サーバーへ直接送信することによって可用性をサポートします。これによって、4 つの Microsoft Project Server 2010 データベースおよび関連するコンテンツ データベースに冗長性を提供できます。これは、システム障害の場合だけでなく、通常のシステム メンテナンスにも役立ちます。

ここでは、Microsoft Project Web App (PWA) サイトでデータベース ミラーリングを使用するための要件を説明します。この記事は、特に 4 つの Project Server 2010 データベース (下書き、発行済み、アーカイブ、およびレポート) と、PWA に関連する Microsoft SharePoint Server 2010 コンテンツ データベースにも適用されます。SharePoint Server 2010 ファームのその他の部分のデータベース ミラーリングについては、「SQL Server クラスタリングを使用して可用性を構成する (SharePoint Server 2010)」を参照してください。

Project Server 2010 のデータベース ミラーリングは、Windows PowerShell を使用することによってのみ構成できます。 新しい PWA サイトを作成する場合は、New-SPProjectWebInstance コマンドレットを使用し、データベース ミラーリングで使用するために既存の PWA サイトを更新する場合は、Set-SPProjectWebInstance コマンドレットを使用します。これらのコマンドレットを使用することで、4 つの Project Server 2010 データベースのプライマリ ミラー サーバーとセカンダリ ミラー サーバーを指定できます。

SQL Server でデータベース ミラーリングを構成する方法の詳細については、「データベース ミラーリング」を参照してください。

重要

Project Server 2010 には同期ミラーリングが必要です。

フェールオーバー時の考慮事項

Project Server 2010 では、下書き、発行済み、およびアーカイブの各データベースの手動フェールオーバーが必要です。これらのすべてのデータベースは相互に対話します。これらのデータベースはすべて、SQL Server の同じインスタンスに置く必要があります。ミラーリング管理サーバーで自動フェールオーバーを使用すると、これらのデータベースの 1 つはミラー サーバーにフェールオーバーしますが、その他のデータベースはプライマリ データベースに残る可能性があります。この場合、Project Server Interface (PSI) 呼び出しと Project Server のその他の機能で障害が発生する可能性があります。下書きデータベース、発行済みデータベース、またはアーカイブ データベースをフェールオーバーする必要がある場合は、3 つのデータベースすべてを同時にセカンダリ サーバーへ手動でフェールオーバーしてください。

レポート データベースは、他の 3 つの Project Server データベースから独立して動作します。ミラーリング管理サーバーの使用とレポート データベースの自動フェールオーバーがサポートされています。

システム メンテナンスまたはその他の緊急性のない作業のために Project Server データベースをフェールオーバーする場合は、システムの使用率が低いときにフェールオーバーすることをお勧めします。これにより、セカンダリ サーバー上での log-redo タスクに必要な時間が最小限に抑えられ、Project Server をセカンダリ サーバー上でより速やかにオンライン化できます。

ビデオ デモ

このビデオでは、データベース ミラーリングの構成に含まれる手順を表示します。

ビデオのスクリーンショット

ビデオを見る (英語) (https://go.microsoft.com/fwlink/?linkid=202557\&clcid=0x411) (英語)。ビデオ ファイルをダウンロードするには、リンクを右クリックして、[対象をファイルに保存] をクリックします。

構成

ミラーリングはシステムの使用率が最も低いときに構成することをお勧めします。これにより、初期データベース同期が高速化されます。

SQL Server ミラーリングを構成する前に、SharePoint Server または Project Server で使用されるすべてのデータベース アクセス アカウントを、ミラー化されたデータベースの展開先の SQL Server のインスタンス上で必ず複製してください。これには、Farm Administrator アカウント、および Project Server に関連するデータベース アクセスに使用する可能性のあるその他のすべてのアカウントが含まれます。

ログインと権限をプリンシパル サーバーからミラー サーバーへ転送するには、スクリプトを実行することをお勧めします。サンプル スクリプトは、サポート技術情報の記事 918992「SQL Server 2005 のインスタンス間でログインおよびパスワードを転送する方法」(https://go.microsoft.com/fwlink/?linkid=122053\&clcid=0x411) で参照できます。SQL Server のメタデータをインスタンス間で転送する方法の詳細については、SQL Server オンライン ブックの記事「データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理」(https://go.microsoft.com/fwlink/?linkid=122055\&clcid=0x411) を参照してください。

SQL Server のミラーリングでは、ミラーリングを計画している各データベースで復旧モデルを [完全] に設定しておくことが必要です。完全復旧は Project Server データベースの既定ですが、ミラーリングを構成する前にこの設定を確認しておくことをお勧めします。

ミラーリングを計画している Project Server データベースごとに、次の手順を実行します。

復旧モデルを設定するには

  1. SQL Server Management Studio で、[データベース] を展開します。

  2. データベースを右クリックし、[プロパティ] をクリックします。

  3. 左側のウィンドウで、[オプション] をクリックします。

  4. [復旧モデル] の一覧で、[完全] を選択します。

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

復旧モデルを確認したら、以下の操作を実行する必要があります。

  1. ミラー化するデータベースごとに、SQL Server で SQL Server のミラーリングを構成します。

  2. ミラー サーバーを参照するように PWA 設定を構成します。

  3. コンテンツ データベースをミラー化する場合は、そのコンテンツ データベースをミラー化するように SharePoint Server を構成します。

SQL Server でミラーリングを構成する

ミラーリングを計画している各データベースをバックアップし、ミラーの配置先の SQL Server のインスタンスにそのデータベースを復元する必要があります。また、トランザクション ログのバックアップも必要です。

重要

下書き、アーカイブ、および発行済みのデータベースはすべて、SQL Server の同じインスタンス上で実行する必要があります。それらのデータベースのいずれかをミラー化する場合は、3 つのデータベースすべてをミラー化する必要があります。

ミラーリングを計画している各 Project Server データベースで、次の手順を実行します。

データベースをバックアップするには

  1. SQL Server Management Studio で、[データベース] を展開します。

  2. データベースを右クリックし、[タスク] をクリックして、[バックアップ] をクリックします。

  3. バックアップの種類が [完全] であることを確認します。

  4. バックアップ先を [ディスク] に設定し、ローカル ディスク上の場所を選択します。

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

データベースのバックアップが完了したら、トランザクション ログをバックアップする必要があります。

トランザクション ログをバックアップするには

  1. SQL Server Management Studio で、[データベース] を展開します。

  2. データベースを右クリックし、[タスク] をクリックして、[バックアップ] をクリックします。

  3. [バックアップの種類] の一覧で、[トランザクション ログ] を選択します。

  4. バックアップ先を、完全バックアップと同じファイルと場所に設定します。

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

各データベースのバックアップが完了したら、データベースのバックアップ ファイルを、ミラーの作成先の SQL Server のインスタンスにコピーします。

ミラーの作成先の SQL Server のインスタンス上で、次の手順を実行して各データベースを復元します。

ミラーリング用のデータベースを復元するには

  1. SQL Server Management Studio で、[データベース] を右クリックし、[データベースの復元] をクリックします。

  2. [復元先データベース] ボックスに、復元するデータベースの名前を入力します。

  3. [デバイスから] を選択して、[参照] をクリックします。

  4. [バックアップの指定] ダイアログ ボックスで、[バックアップ メディアの種類] が [ファイル] であることを確認し、[追加] をクリックします。

  5. バックアップ ファイルの場所に移動し、復元するデータベースを選択します。

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

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

  8. [復元するバックアップ セットの選択] の表で、[完全] および [トランザクション ログ] の両方のバックアップのチェック ボックスをオンにします。

  9. 左側のウィンドウで、[オプション] をクリックします。

  10. [復旧状態] セクションで、[RESTORE WITH NORECOVERY] を選択します。

    重要

    ミラーリングを機能させるには NORECOVERY を使用してデータベースを復元する必要があります。

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

バックアップの復元が完了したら、ミラーリングを構成できます。ミラー化するデータベースごとに、アクティブなデータベースがある SQL Server のインスタンス上で次の手順を実行します。

ミラーリングを構成するには

  1. SQL Server Management Studio で、[データベース] を展開します。

  2. ミラー化するデータベースを右クリックし、[タスク] をクリックし、[ミラー] をクリックします。

  3. [データベース プロパティ] ダイアログ ボックスで、[セキュリティの構成] をクリックします。

  4. ウィザードで、[次へ] をクリックします。

  5. [ミラーリング監視サーバーを含める] ページで、[いいえ] を選択し、[次へ] をクリックします。

  6. [プリンシパル サーバー インスタンス] ページで、[次へ] をクリックします。

  7. [ミラー サーバー インスタンス] ページで、[接続] をクリックします。

  8. [サーバーに接続] ダイアログ ボックスで、ミラー サーバーの名前を入力し、[接続] をクリックします。

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

  10. [サービス アカウント] ページで、プリンシパル サーバーおよびミラー サーバーのサービス アカウントの名前を入力し、[ 次へ] をクリックします。

  11. [完了] をクリックします。

  12. [エンドポイントを構成しています] ダイアログ ボックスに [成功] が表示されたら、[閉じる] をクリックします。

  13. [データベース プロパティ] ダイアログ ボックスで、[ミラーリングの開始] をクリックします。

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

ミラーリングを行うように SQL Server を構成したら、Project Server を構成する必要があります。また、コンテンツ データベースをミラー化する場合は、SharePoint Server も構成する必要があります。

ミラーリングを行うように Project Server を構成する

ミラーリングを行うように Project Server を構成するには、Windows PowerShell の Set-SPProjectWebInstance コマンドレットを使用して、ミラー化する Project Server データベースに対するミラー サーバーを設定する必要があります。-PrimaryDBMirrorServer パラメーターで、下書き、アーカイブ、および発行済みのデータベースに対するミラー サーバーを構成します。-ReportingDBMirrorServer パラメーターで、レポート データベースに対するミラー サーバーを構成します。

Project Server が実行されているアプリケーション サーバー上で次の手順を実行します。

Project Server でミラーリングを構成するには

  1. [スタート] をクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft SharePoint 2010 Products] をクリックします。

  2. [SharePoint 2010 管理シェル] を右クリックし、[管理者として実行] をクリックします。

  3. ミラー サーバーの適切な値を指定して、Windows PowerShellSet-SPProjectWebInstance コマンドレットを実行します。次に例を示します。

    Set-SPProjectWebInstance -AdminAccount Litware\FarmAdmin -ArchiveDbname Proj_Archive -DraftDbname Proj_Draft -PrimaryDbserver SQL1 -PublishedDbname Proj_Pub -ReportingDbname Proj_Rep -ReportingDbserver SQL1 -PrimaryDBMirrorServer SQL2 -ReportingDBMirrorServer SQL2 -Url http://SharePointFarm/pwa

これで、Project Server データベースに対するデータベース ミラーリングの構成は完了です。

ミラーリングを行うように SharePoint Server を構成する

コンテンツ データベースをミラー化する場合は、SQL Server でデータベース ミラーリングの構成が完了した後で、SharePoint サーバーの全体管理 Web サイトで [フェールオーバー データベース サーバー] の設定を構成する必要があります。

コンテンツ データベースをミラー化するように SharePoint Server を構成するには

  1. サーバーの全体管理で、[アプリケーション構成の管理] の [コンテンツ データベースの管理] をクリックします。

  2. [データベース名] セクションで、ミラー化する Project Server コンテンツ データベースをクリックします。

  3. [データベースの設定] ページの [フェールオーバー データベース サーバー] ボックスに、ミラー サーバーの名前を入力します。

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

これで、コンテンツ データベースは、ミラー サーバーへのフェールオーバーを有効にするように構成されました。

データベースをフェールオーバーする

データベースをミラー サーバーにフェールオーバーすることを決定する理由は、プライマリ サーバー上でのメンテナンスの実行、プライマリ サーバー上でのハードウェア障害への対応など、いくつかあります。

Project Server データベースをフェールオーバーする場合は、次の点に注意してください。

  • 下書きデータベース、アーカイブ データベース、および発行済みデータベースはすべて、SQL Server の同じインスタンス上で実行する必要があります。それらのデータベースのいずれかをフェールオーバーする場合は、他の 2 つもフェールオーバーする必要があります。レポート データベースとコンテンツ データベースはそれぞれ独立してフェールオーバーできます。

  • データベースのフェールオーバーとは、データベースを新しいサーバーへ完全に移動する方法ではありません。Project Server は元のデータベース サーバーを使用するように構成されたままです。データベースを元のサーバーにフェールバックするまで、単にデータベース呼び出しをミラー サーバーにリダイレクトするだけです。

ミラー化したデータベースのフェールオーバーには、SQL Server を使用します。データベースをミラー サーバーにフェールオーバーするには、次の手順を実行します。この手順は、(ミラーではなく) ミラー対象のプリンシパルがある SQL Server のインスタンス上で実行してください。

データベースをミラー サーバーにフェールオーバーするには

  1. SQL Server Management Studio で、[データベース] を展開します。

  2. データベースを右クリックし、[タスク] をクリックして、[ミラー] をクリックします。

  3. [フェールオーバー] をクリックします。

  4. 確認のダイアログ ボックスで、[はい] をクリックします。

データベースをフェールオーバーすると SQL Server は、プリンシパル サーバーとミラー サーバーの間でロールを切り替えます。つまり、ミラーがプリンシパルになり、プリンシパルがミラーになります。フェールバックするには、現在のプリンシパル データベースがある SQL Server のインスタンス上で同じ手順を実行します。

プライマリ サーバー上のハードウェア障害やその他の問題に対応するためにデータベースをフェールオーバーする場合、ファームはミラー サーバー上で必要な限り実行できます。ただし、障害を解決してミラーリングを再構成するまでデータベースの冗長性は得られません。

プライマリ サーバー上で必要なメンテナンスまたは修復を完了したら、データベースを必ず元のサーバーにフェールバックしてください。