現象
2014 の Microsoft SQL Server のインスタンスでの AlwaysOn 可用性グループを有効にすることを想定しています。プライマリ ・ レプリカには、アクティブなトランザクションが含まれている間、可用性グループのフェールオーバーを実行するとします。その後、次の 3303 警告メッセージが表示されます。
リモートのトランザクションのセキュリティを強化 '%。 * %1! '' (ID が 0% の 016I64x x %ls) データベース '' %1!' LSN は %3! で失敗しました %1! を開始します。
このような場合は、データの次のドライバーまたはプロバイダーは、リモート障害を強化例外をキャッチできません。
-
SQL Server 4.0 用の Microsoft JDBC ドライバー
-
SQL Server 用の OLE DB ドライバー
-
OLE DB 用の SQL Server ネイティブ クライアント
したがって、これらのドライバーまたはプロバイダーを使用するクライアント アプリケーションを認識しているトランザクション」の可能性がある」「インダウト」トランザクションが中止され、SQL Server によってロールバックには、それがコミットされが強化され、ディスクが正常にまたはを意味します。この「インダウト」トランザクションがロールバックされた場合これらのドライバーまたはプロバイダーがされていたり、正常にコミット トランザクション、例外をキャプチャすることはできませんので。これにより、アプリケーションのデータの不整合の問題が発生することができます。
注 次の接続プロバイダーは、「インダウト」トランザクションのリモート障害を強化する例外をキャプチャできます。-
SQL Server 用の Microsoft ODBC ドライバー
-
SQL Server ネイティブ クライアント (ODBC)
解決策
SQL Server の次の累積的な更新プログラムでは、この問題は修正されました最初します。
2014 の SQL Server 用の累積的な更新プログラム 5/en-us/help/3011055
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていた、すべての修正プログラムおよびすべてのセキュリティ更新プログラムが含まれています。以下で、SQL Server 用の最新の累積的な更新プログラムを確認してください。
修正プログラムの情報この修正プログラムは、新しいトレース フラグ 3923 を紹介します。トレース フラグは、SQL Server が 3303 警告メッセージが発生したときに、アプリケーションに例外をスローをことができます。
修正プログラムを適用した後この問題を解決するには、このトレース フラグを有効にする必要があります。修正プログラムと、トレース フラグは、アプリケーションは、トランザクションがロールバックまたは例外をキャプチャした後にコミットされたかどうかをチェックする検証コードを実装するためにも必要です。 サポートされている修正プログラムは、マイクロソフトから入手可能です。ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。この問題が発生しているシステムにのみ適用してください。 修正プログラムをダウンロードできる場合は、本サポート技術情報の資料の上部に「修正プログラムをダウンロードできます」というセクションがあります。このセクションが表示されていない場合は、マイクロソフト カスタマー サービス サポートにリクエストを送信し、修正プログラムを入手してください。