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

 

適用先: SharePoint Foundation 2010, SharePoint Server 2010

トピックの最終更新日: 2016-11-30

この記事では、高可用性データベース ミラーリングを使用して Microsoft SharePoint Server 2010 のファーム内での可用性を構成する方法を説明します。ここでは、「可用性を計画する (SharePoint Server 2010)」で説明している概念や用語に習熟していることを前提とします。

Microsoft SQL Server のデータベース ミラーリングは、プリンシパル データベースおよびサーバーからミラー データベースおよびサーバーへのトランザクションの直接送信をプリンシパル データベースのトランザクション ログ バッファーがディスクに書き込まれる際に行うことで可用性をサポートします。Microsoft SharePoint Server 2010 ファーム内の可用性については、自動フェールオーバー付き高安全性モードとも呼ばれる、高可用性データベース ミラーリングを使用します。高可用性データベース ミラーリングには、プリンシパル、ミラー、および監視という 3 つのサーバー インスタンスが関与します。監視サーバーは、SQL Server によるプリンシパル サーバーからミラー サーバーへの自動的なフェール オーバーを可能にします。通常、プリンシパル データベースからミラー データベースへのフェールオーバーには数秒かかります。

SharePoint Server 2010 ファーム内では、ミラーリングによってコンテンツ データベースや構成データベース、また多くのサービス データベースに冗長性を提供できます。たとえ複数のデータベースが同じサーバーにミラーリングされる場合でも、各データベースのフェールオーバーは個別に行われます。次の図は、ミラーリングを構成して SharePoint Server 2010 ファーム内で可用性を提供する方法を示しています。

ファーム内のすべてのデータベースをミラーリングしている図

SharePoint Server 2010 はミラーリングに対応しています。環境でミラーリングを使用するには、まずミラーリングを構成し、次に SharePoint Server でフェールオーバー データベースの値を設定します。

この記事の内容

  • はじめに

  • 高可用性データベース ミラーリングを構成する

  • SharePoint 2010 製品を構成してミラー化されたデータベースを認識させる

  • フェールオーバー時のユーザー エクスペリエンス

はじめに

ミラーリングの構成を開始する前に、データベース管理者が次の要件とサポートされているトポロジを認識していることを確認します。

データベース ミラーリングの要件

SharePoint Server 環境のデータベース ミラーリングを構成する前に、以下のリストにある推奨事項をよく理解し、データベースとシステムがすべての要件を満たしていることを確認します。

  • システムの遅延時間は 1 ミリ秒以下であることが推奨されます。

  • システムの帯域幅は 1 ギガバイト (GB) / 秒以上あることが推奨されます。

  • ログはプリンシパル サーバーとミラー サーバーの間でリアルタイムにコピーされるので、コピーがパフォーマンスに影響を及ぼす可能性があります。プリンシパル サーバーとミラー サーバーの双方に十分なメモリと帯域幅があることを確認します。

  • プリンシパル サーバーとミラー サーバーは同じバージョンとエディションの SQL Server を同じ言語で実行している必要があります。データベース ミラーリングは、Standard、Developer、および Enterprise の各エディションでのみ利用できます。監視サーバーは任意のバージョンの SQL Server (SQL Server 2008 Express を含む) を実行できます。

  • ミラーリングは、完全復旧モデルを使用するデータベースでのみ機能します。

    既定では、SharePoint Server 2010 データベースは単純復旧モデルを使用するように構成されています。データベース ミラーリングを構成するには、データベースの復旧モデルを完全復旧モデルに設定する必要があります。データベースの復旧モデルの設定方法については、「データベースの復旧モデルを表示または変更する方法 (SQL Server Management Studio)」(https://go.microsoft.com/fwlink/?linkid=132075&clcid=0x411) を参照してください。

  • データベースのミラーリングを計画する場合は、こうしたデータベースのトランザクション ログのサイズが非常に大きくなる可能性があることを考慮します。この問題に対処するためには、トランザクション ログを必要に応じて切り詰める復旧計画を策定できます。詳細については、マイクロソフト サポート技術情報の記事「SQL Server データベースのトランザクション ログが突然拡張されないようにする方法」(https://go.microsoft.com/fwlink/?linkid=111458&clcid=0x411) を参照してください。

  • すべてのデータベース ミラーリング セッションでは、各データベースについて少なくとも 2 つのスレッドが作成されます。サポートされているすべてのデータベースのミラーリング用に割り当てる十分なスレッドがデータベース サーバーにあることを確認してください。スレッドが不足している場合、セッションに追加されるデータベースが増えるとパフォーマンスが低下する可能性があります。

データベース ミラーリングのパフォーマンスの詳細については、「データベース ミラーリングのベスト プラクティスおよびパフォーマンスに関する考慮事項」(https://go.microsoft.com/fwlink/?linkid=185119&clcid=0x411) を参照してください。

product logo for Microsoft Project   Microsoft Project Server 2010 データベース用のミラーリングを構成する場合、Project Server 固有の情報については「SQL Server データベース ミラーリングを使用して可用性を構成する (Project Server 2010)」を参照してください。

データベース ミラーリングに関連するセキュリティ

データベース ミラーリングでは、TCP セッションを使用して、あるサーバーから別のサーバーにトランザクション ログを転送したり、自動フェールオーバーのためにシステムの現在の状態を監視したりします。認証は、接続用にポートが開かれたときにセッション レベルで実行されます。データベース ミラーリングは、Windows 認証 (NTLM または Kerberos) と証明書の両方をサポートしています。

ネットワークが安全でない限り、セッション中に転送されるデータは暗号化する必要があります。データベース ミラーリングでは、高度暗号化標準 (AES) と RC4 暗号化の両方のアルゴリズムをサポートしています。データベース ミラーリングに関連するセキュリティの詳細については、「データベース ミラーリング トランスポート セキュリティ」(https://go.microsoft.com/fwlink/?linkid=83569&clcid=0x411) を参照してください。

SharePoint 2010 製品のセキュリティとミラー化されたサーバー

ミラー化されたデータベースを設定しても、そのデータベースを SharePoint ファームで使用するための SQL Server のログインおよび権限がミラー サーバーの master データベースや msdb データベースで自動的に構成されることはありません。代わりに、必要なログインの権限を構成する必要があります。以下にそれらの一部を示します。

  • サーバーの全体管理アプリケーション プール アカウントは dbcreator 固定サーバー ロールと securityadmin 固定サーバー ロールのメンバーである必要があります。

  • すべてのアプリケーション プール アカウント、既定のコンテンツ アクセス アカウント、およびサービス アプリケーションで必要とされるすべてのアカウントは、SQL Server ログインを持つ必要がありますが、SQL Server 固定サーバー ロールや固定データベース ロールに割り当てられている必要はありません。

  • Farm Administrators SharePoint グループのメンバーも SQL Server ログインを持ち、サーバーの全体管理アプリケーション プール アカウントと同じ SQL 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) を参照してください。

サポートされるトポロジ

プリンシパル サーバーおよびデータベース インスタンスとミラー サーバーおよびデータベース インスタンスとの 1 対 1 のマッピングを維持して、SharePoint Server 2010 との互換性を確保することをお勧めします。

サポートされるトポロジには、すべてのコンテンツ データベース、構成データベース、サーバーの全体管理コンテンツ データベース、およびサービス アプリケーション データベース (Web Analytics ステージング データベースとユーザー プロファイル同期データベースを除く) のミラーリングが含まれます。

注意

Usage and Health Data Collection ログ データベースのミラーリングはお勧めしません。SharePoint 環境では、このデータベースでエラーが発生しても実行を続行でき、このデータは速やかに再生成できます。

一致するプリンシパル サーバーおよびデータベースのインスタンスが存在しないトポロジは避けてください。また、構成データベースと管理コンテンツ データベースは同じサーバーに置いたままにします。

高可用性データベース ミラーリングを構成する

運用環境では、SQL Server データベース管理者が高可用性ミラーリングを構成することをお勧めします。テスト環境については、環境の構成に使用できる Transact-SQL スクリプトを用意しています。詳細については、「SQL Server ミラーリングを構成するスクリプトの例 (SharePoint Foundation 2010)」を参照してください。

SharePoint 2010 製品を構成してミラー化されたデータベースを認識させる

SharePoint Server 2010 にミラー化されたフェールオーバー データベースの存在を認識させるには、すべての構成データベースとコンテンツ データベースで以下の手順を実行します。

注意

Windows PowerShell コマンドレットを使用してフェールオーバー データベースの値を設定することをお勧めします。サーバーの全体管理 Web サイトを使用して設定できるフェールオーバー データベースの値もありますが、この方法はすべてのデータベースで使用できるわけではありません。

Windows PowerShell を使用した SharePoint 2010 製品の構成によってミラー化されたデータベースを認識させるには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。

    $db = get-spdatabase | where {$_.Name -eq "<データベース名>"}

    $db.AddFailoverServiceInstance("<ミラー化されたデータベース名>")

    $db.Update()

詳細については、「Get-SPDatabase」を参照してください。

フェールオーバー時のユーザー エクスペリエンス

SQL Server がミラー化されたデータベースの使用に切り替わる際には、このデータベースを予備用として利用する SharePoint サイトのユーザーは短期的な接続の問題やデータの損失に見舞われる可能性があります。

ミラーリングの監視とトラブルシューティング

ミラーリングの状態とパフォーマンスをファーム内で監視するために、データベース管理者はデータベース ミラーリング モニターを使用できます。監視によって、データベース ミラーリング セッションでのデータ フローの状態を判断できます。データベース ミラーリング モニターは、データ フローが減少する問題のトラブルシューティングにも有用です。詳細については、「データベース ミラーリング モニターの概要」(https://go.microsoft.com/fwlink/?linkid=185068&clcid=0x411) を参照してください。トラブルシューティングに使用できる別のリソースとしては、SQL Server オンライン ブックの記事「データベース ミラーリングの設定のトラブルシューティング」(https://go.microsoft.com/fwlink/?linkid=185069&clcid=0x411) があります。

See Also

Other Resources

データベース ミラーリング