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

 

適用先: SharePoint Foundation 2010

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

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

SharePoint Foundation 2010 のファーム内では、ミラーリングを行うことで、コンテンツ データベースと構成データベースや、他の多くのサービス データベースを冗長化できます。いくつかのデータベースを同じサーバーにミラー化しても、各データベースは個々にフェールオーバーします。次の図は、ミラーリングを構成して、SharePoint Foundation 2010 のファーム内に可用性を提供する方法を示しています。

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

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

この記事の内容

  • はじめに

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

  • ミラー化されたデータベースを認識するように SharePoint 2010 製品を構成する

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

はじめに

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

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

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

  • システムの待ち時間は 1 ミリ秒以内であることが望まれます。

  • システム帯域幅は、できるだけ 1 秒あたり 1 ギガバイト (GB) である必要があります。

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

  • プリンシパル サーバーとミラー サーバーで実行される SQL Server はバージョンとエディションが同じで、使用する言語も同じである必要があります。データベース ミラーリングは、Standard Edition、Developer Edition、および Enterprise Edition でのみ使用できます。ミラーリング監視サーバーでは、SQL Server 2008 Express など、どのバージョンの SQL Server でも実行できます。

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

    既定では、SharePoint Foundation 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) を参照してください。

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

データベース ミラーリングでは、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) を参照してください。

サポートされるトポロジ

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

サポートされるトポロジには、すべてのコンテンツ データベース、構成データベース、サーバーの全体管理コンテンツ データベース、およびサービス アプリケーション データベース (Web Analytics ステージング データベースと User Profile Synchronization データベースを除く) のミラーリングなどがあります。

注意

Usage and Health Data Collection Logging データベースをミラー化することはお勧めできません。SharePoint 環境は、このデータベースが失敗しても実行を継続でき、データベースのデータはすぐに再生成できます。

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

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

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

ミラー化されたデータベースを認識するように SharePoint 2010 製品を構成する

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

注意

Windows PowerShell コマンドレットを使用してフェールオーバー データベース値を設定することをお勧めします。いくつかのフェールオーバー データベース値を設定する場合であれば、サーバーの全体管理 Web サイトを使用できますが、すべてのデータベースには使用できません。

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

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

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

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

  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

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