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

適用対象:SQL Server

注意事項

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 高可用性を実現するために、代わりに Always On 可用性グループを使用してください。

重要

SQL Server のデータベース ミラーリングは、Microsoft Fabric データベース ミラーリングとは異なるテクノロジです。 Fabric へのミラーリングにより、分析パフォーマンスが向上し、データ資産を Fabric の OneLake と統合し、Delta Parquet 形式でデータへのアクセスを開く機能が提供されます。

Microsoft Fabric へのミラーリングを使用すると、SQL Server 2016 以降、Azure SQL Database、Azure SQL Managed Instance、Cosmos DB、Oracle、Snowflake などのデータを含め、既存のデータ資産を Fabric の OneLake に継続的にレプリケートできます。

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

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

Windows の SQL Server の各エディションでサポートされる機能のリストについては、以下を参照してください。

データベース ミラーリングは、サポートされているすべてのデータベース互換性レベルで動作します。 サポートされている互換性レベルの詳細については、「 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 ファイル グループを含むデータベースに対してデータベース ミラーリングを構成することはできません。

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

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

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

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

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

    重要

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

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

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

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

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

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

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

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

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

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

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

    重要

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

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

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