現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2012 R2 の非同期高パフォーマンスモードでデータベースミラーリングを使用します。
-
プリンシパルデータベースで変更の管理を有効にします。
-
データベーススナップショットは、ミラーデータベースで作成します。
-
データベーススナップショットで CHANGE_TRACKING_CURRENT_VERSION ()関数を使用して、最後にコミットされたトランザクションと関連付けられているバージョンを確認します。
このシナリオでは、 CHANGE_TRACKING_CURRENT_VERSION () 関数の戻り値が正しくありません。 0またはプリンシパルデータベースから返された値より小さい。
原因
この問題は、データベーススナップショットでの関数の処理に関連する欠陥が原因で発生します。 CHANGE_TRACKING_CURRENT_VERSION () 関数は、データベーススナップショットで間違った値を返します。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。 修正プログラムを適用すると、SQL Server は CHANGE_TRACKING_CURRENT_VERSION () 関数のロジックを変更します。 データベーススナップショットの CHANGE_TRACKING_CURRENT_VERSION ()関数の戻り値は正しくなります。
SQL Server 2008 R2 SP2 の累積更新プログラム11 /en-us/help/2926028
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。