次の方法で共有


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

注意

この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。代わりにAlwaysOn 可用性グループを使用してください。

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

注意

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

このトピックの内容

  • データベース ミラーリングのサポート

  • 前提条件

  • 制限事項

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

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

データベース ミラーリングのサポート

SQL Server 2012 におけるデータベース ミラーリングのサポートについては、「SQL Server 2012 の各エディションがサポートする機能」を参照してください。

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

[先頭に戻る]

前提条件

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

  • 2 つのパートナー (プリンシパル サーバーとミラー サーバー) で同じエディションの SQL Server が実行されている必要があります。 ミラーリング監視サーバー (存在する場合) は、データベース ミラーリングをサポートする SQL Server のすべてのエディションで実行できます。

    注意

    ミラーリング セッションでのパートナーであるサーバー インスタンスを、より新しいバージョンの SQL Server にアップグレードできます。 詳細については、「サーバー インスタンスのアップグレード時に、ミラー化されたデータベースのダウンタイムを最小化する」を参照してください。

  • このデータベースは、完全復旧モデルを使用する必要があります。 単純復旧モデルと一括ログ復旧モデルでは、データベース ミラーリングがサポートされていません。 そのため、ミラー化されたデータベースでは、常に一括操作が完全にログに記録されます。 復旧モデルの詳細については、「復旧モデル (SQL Server)」を参照してください。

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

    注意

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

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

    重要な注意事項重要

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

[先頭に戻る]

制限事項

  • ミラー化できるのはユーザー データベースのみです。 mastermsdbtempdb、または model の各データベースはミラー化できません。

  • データベース ミラーリング セッション中に、ミラー化されるデータベースの名前を変更することはできません。

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

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

  • 複数のデータベースにまたがるトランザクションまたは分散トランザクションでは、データベース ミラーリングがサポートされません。 詳細については、「データベース ミラーリングまたは AlwaysOn 可用性グループではサポートされない複数データベースにまたがるトランザクション (SQL Server)」を参照してください。

[先頭に戻る]

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

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

    注意

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

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

    重要な注意事項重要

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

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

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

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

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

[先頭に戻る]

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

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

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

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

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

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

    重要な注意事項重要

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

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

  3. 自動フェールオーバーを伴わない高い安全性モードがビジネス ニーズを満たしていること、およびネットワーク エラーによって障害が発生しないことを確認できるまで、自動フェールオーバーは有効にしないでください。 詳細については、「データベース ミラーリング セッション中の役割の交代 (SQL Server)」を参照してください。

[先頭に戻る]

関連項目

概念

データベース ミラーリングの設定 (SQL Server)

データベース ミラーリングと AlwaysOn 可用性グループのトランスポート セキュリティ (SQL Server)

データベース ミラーリング (SQL Server)

データベース ミラーリング構成のトラブルシューティング (SQL Server)