徵狀
請試想下列案例:
-
在 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 的最新累計更新:
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。