徵狀
請試想下列案例:
-
您可以在 Microsoft SQL Server 2012 的資料庫上啟用變更追蹤功能。
-
您執行的查詢使用系統變更追蹤函數CHANGE_TRACKING_CURRENT_VERSION ()。
-
SQL Server 嘗試使用並行查詢執行方案來執行查詢。
在這種情況下,發生存取衝突,而且您可能會收到下列錯誤訊息:
Msg 0、Level 11、State 0、Line 0A 在目前命令上發生嚴重錯誤。 結果(如果有的話)應該捨棄。
原因
出現此問題的原因是無法以並行方式正確執行 CHANGE_TRACKING_CURRENT_VERSION ()函數。
解決方案
此問題最初是在 SQL Server 的後續累積更新中修正。
SQL Server 2012 SP1 累計更新6 /en-us/help/2874879
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
因應措施
若要解決此問題,請在查詢中使用 OPTION (MAXDOP 1) 提示。