可用性に関する機能強化 (データベース エンジン)

データベース ミラーリングの強化により、SQL Server 2008 データベースの可用性が向上しています。データベース ミラーリングを使用すると、高速のフェールオーバーをサポートするホット スタンバイ サーバーを作成でき、コミット済みのトランザクションのデータが失われることはありません。

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

パフォーマンスの強化

強化されたパフォーマンスは次のとおりです。

  • ミラー サーバーの受信ログ ストリームへの先行書き込み。

    SQL Server 2008 では、ログ レコードの受信時に、ミラー サーバーがこれらのレコードを非同期的にディスクに書き込みます。同時に、ディスクに既に書き込まれているログ レコードを処理します。

  • ログ送信バッファの使用の強化。

    SQL Server 2005 では、プリンシパル サーバーでログ フラッシュ操作が行われるたびに、ログ レコード用にデータベース ミラーリング ログ送信バッファ全体が予約されます。SQL Server 2008 では、最近使用したログ キャッシュに次のログ フラッシュ操作のログ レコードを格納するための十分な空き領域がある場合、ログ レコードはそのログ キャッシュに追加されます。それ以外の場合は、新しいログ キャッシュが割り当てられます。

  • トランザクション ログ レコードのストリームの圧縮。

    トランザクション ログ レコードのストリームが、ミラー サーバーへの送信前にプリンシパル サーバーで圧縮されます。このログ圧縮はすべてのミラーリング セッションで行われます。

  • 12.5% 以上の圧縮率を実現できるストリーム データの圧縮。

  • 元に戻すフェーズ中のページの先行読み取り。

    フェールオーバー後、新しいミラー サーバーでは、ページがローカル ディスクには書き込まれていても、ログ レコードが以前のミラー サーバー (新しいプリンシパル サーバー) に届いていない可能性のあるすべての変更を元に戻す必要があります。このような変更済みページを元に戻すために、ミラー サーバーでは対応するページを新しいプリンシパル サーバーからまず要求して受信する必要があります。SQL Server 2008 では、元に戻すフェーズのこの部分のパフォーマンスが強化されています。元に戻すフェーズの初期段階で、ミラー サーバーは先行読み取りのヒントをプリンシパル サーバーに送信し、後から要求するページを示します。ページの先行読み取りヒントを受信したプリンシパル サーバーは、そのページを送信バッファに配置します。これにより、対応するページの要求を受信したプリンシパル サーバーは、すぐに応答できます。

破損したページからの自動復旧

SQL Server 2008 以降のバージョンで動作するデータベース ミラーリング パートナーには、データ ページの読み取りを妨げるエラーを自動的に解決するための機能が備わっています。ミラーリング セッションを構成する一方のパートナーは、ページを読み取れない場合、もう一方のパートナーに新しいコピーを要求します。要求が受け入れられ、新しいコピーを取得できた場合は、読み取り不可能なページがそのコピーに置き換えられます。通常、これによりエラーは解決します。詳細については、「データベース ミラーリング セッション中のページの自動修復」を参照してください。