データベース ミラーリングの前提条件、制限事項、および推奨事項

このトピックでは、データベース ミラーリングを設定するための前提条件と推奨事項について説明します。データベース ミラーリングの概要については、「データベース ミラーリングの概要」を参照してください。

注意

SQL Server のディスク上ストレージ形式は、64 ビット環境でも 32 ビット環境でも同じです。このため、データベース ミラーリング セッションでは、32 ビット環境で実行されているサーバー インスタンスと 64 ビット環境で実行されているサーバー インスタンスを組み合わせることができます。

前提条件

データベース ミラーリングを設定する前に、次のことを行う必要があります。

  • 新しいミラーリング セッションを確立させるためには、パートナーとミラーリング監視サーバー (存在する場合) が、SQL Server の同じバージョンで実行されている必要があります。

  • 2 つのパートナー、つまりプリンシパル サーバーとミラー サーバーで Microsoft SQL Server の同じエディションが実行されていることを確認します。データベース ミラーリング パートナーは SQL Server 2005 Standard 以降のバージョンおよび SQL Server 2005 Enterprise Edition 以降のバージョンでのみサポートされます。非同期データベース ミラーリング (高パフォーマンス モード) は SQL Server 2005 Enterprise Edition 以降のバージョンでのみサポートされます。

  • ミラーリング監視サーバーを使用している場合は、そのシステムに SQL Server 2005 以降のバージョンがインストールされていることを確認します。ミラーリング監視サーバーは、Standard、Enterprise、Workgroup、Express のいずれかのエディションをサポートする任意の信頼性の高いコンピューター システムで実行できます。

  • ミラー サーバーにミラー データベースを保持するだけの十分なディスク領域があることを確認します。

    注意

    レプリケートされるデータベースでのデータベース ミラーリングの使用方法の詳細については、「レプリケーションおよびデータベース ミラーリング」を参照してください。

  • ミラー サーバーにミラー データベースを作成する際は、同じデータベース名と WITH NORECOVERY オプションを指定して、プリンシパル データベースのバックアップを復元する必要があります。また、このバックアップが実行された後で作成されたすべてのログ バックアップについても、WITH NORECOVERY を指定して適用する必要があります。

    重要な注意事項重要

    データベース ミラーリングが停止している場合は、データベース ミラーリングを再開する前に、停止中にプリンシパル データベースで作成されたすべてのログ バックアップをミラー データベースに適用する必要があります。

  • データベース ミラーリングは、サポートされているすべてのデータベース互換性レベルで動作します。サポートされている互換性レベルの詳細については、「sp_dbcmptlevel (Transact-SQL)」を参照してください。

制限事項

データベース ミラーリングは FILESTREAM をサポートしていません。プリンシパル サーバー上に FILESTREAM ファイル グループを作成することはできません。FILESTREAM ファイル グループを含むデータベースに対してデータベース ミラーリングを構成することはできません。

32 ビット システムの場合、データベース ミラーリングでは、各データベース ミラーリング セッションで使用されるワーカー スレッド数の関係で、サーバー インスタンスあたり最大約 10 個のデータベースをサポートできます。

複数のデータベースにまたがるトランザクションまたは分散トランザクションでは、データベース ミラーリングがサポートされません。詳細については、「データベース ミラーリングおよび複数データベースにまたがるトランザクション」を参照してください。

パートナー サーバーの構成に関する推奨事項

  • パートナーは、同じ量のワークロードを処理できる同等のシステムで実行する必要があります。

    注意

    自動フェールオーバーを伴う高い安全性モードを使用する場合は、各フェールオーバー パートナーの通常の負荷が CPU の 50% 未満である必要があります。ワークロードによって CPU が過負荷になると、フェールオーバー パートナーがミラーリング セッションで他のサーバー インスタンスに ping を実行できなくなる場合があります。これにより、不必要なフェールオーバーが発生します。CPU 使用率を 50% 未満に維持できない場合は、自動フェールオーバーを伴わない高い安全性モードか、高パフォーマンス モードを使用することを推奨しています。

  • 可能であれば、ミラー データベースのパス (ドライブ文字を含む) を、プリンシパル データベースと同一のパスにします。ファイル レイアウトが異なる場合は、RESTORE ステートメントに MOVE オプションを含める必要があります。プリンシパル データベースがドライブ 'F:' 上にあっても、ミラー システムには F: ドライブがない場合などがあります。

    重要な注意事項重要

    ミラー データベースの作成時にデータベース ファイルを移動した場合、そのミラー データベースに後でファイルを追加する際に、ミラーリングの中断が必要になる場合があります。

  • ミラーリング セッションのすべてのサーバー インスタンスが同じマスター コード ページと照合順序を使用する必要があります。異なるマスター コード ページと照合順序を使用すると、ミラーリングの設定中にエラーが発生する可能性があります。

  • 必要に応じて、データベースのフェールオーバーにかかる時間を見積もり、必要なパフォーマンスを実現できるようにシステムを構成します。詳細については、「役割の交代中に発生するサービスの中断時間の算出」を参照してください。

  • 最適なパフォーマンスを得るには、ミラーリングに専用のネットワーク アダプター (ネットワーク インターフェイス カード) を使用します。

  • 高い安全性モードでデータベース ミラーリングを行う場合、ワイドエリア ネットワーク (WAN) の信頼性が十分かどうかに関する推奨事項はありません。高い安全性モードで WAN 経由のデータベース ミラーリングを使用する場合、不要なフェールオーバーが自動的に行われる可能性があるため、セッションにミラーリング監視サーバーを追加する方法には注意してください。詳細については、このトピックの「データベース ミラーリングの配置に関する推奨事項」を参照してください。

データベース ミラーリングの配置に関する推奨事項

データベース ミラーリングのパフォーマンスを最適化するには、非同期動作を使用する必要があります。同期動作を使用するミラーリング セッションは、ワークロードが大量のトランザクション ログ データを生成するときに、パフォーマンスが低下する可能性があります。

テスト環境ですべての動作モードを調査し、データベース ミラーリングのパフォーマンスを評価することをお勧めします。ただし、ミラーリングを運用環境に配置する前に、実際のネットワークの性能を理解することが必要です。

自動フェールオーバーを伴う高い安全性モードは、ネットワーク障害が発生する可能性を最小限に抑える、専用接続または非常に単純なネットワーク構成を備えた高サービス ネットワーク用に設計されています。自動フェールオーバーを伴う高い安全性モードにはこのような質の高いネットワーク環境が不可欠であり、すべてのデータベース ミラーリング セッションに推奨されます。ただし、高パフォーマンス モードと自動フェールオーバーを伴わない高い安全性モードは、ネットワークの信頼性による影響をそれほど受けません。

したがって、実稼働環境では、以下の配置ガイドラインに従うことをお勧めします。

  1. 非同期の高パフォーマンス モードで実行を開始します。このモードは、ネットワーク環境の影響を受けることが最も少なく、ミラーリングの動作を調べるには最善の構成です。帯域幅がミラーリングをサポートすることに確信が持て、ミラーリングの設定および環境における非同期モードのパフォーマンスについて理解できるまでは、システムを非同期で実行することをお勧めします。詳細については、「非同期データベース ミラーリング (高パフォーマンス モード)」を参照してください。

    重要な注意事項重要

    テストの期間をとおして、データベース ミラーリングの障害の原因となるネットワーク エラーをセッションで監視することをお勧めします。障害の潜在的な原因の詳細については、「データベース ミラーリング中に発生する可能性のあるエラー」を参照してください。データベース ミラーリングの監視方法については、「データベース ミラーリングの監視」を参照してください。

  2. 非同期動作がビジネス ニーズを満たすことが確信できたなら、同期動作を実行してデータ保護の強化を図ることができます。自分の環境で同期ミラーリングがどのように動作するのかをテストするときは、最初に自動フェールオーバーを伴わない高い安全性モードをテストすることをお勧めします。このテストの主な目的は、同期操作がデータベースのパフォーマンスに与える影響を確認することです。詳細については、「同期データベース ミラーリング (高い安全性モード)」を参照してください。

  3. 自動フェールオーバーを伴わない高い安全性モードがビジネス ニーズを満たしていること、およびネットワーク エラーによって障害が発生しないことを確認できるまで、自動フェールオーバーは有効にしないでください。詳細については、「自動フェールオーバー」を参照してください。