症狀
在線索引重建若與同時修改 Microsoft SQL Server 2012 或 Microsoft SQL Server 2014 中多列的查詢同時使用,可能導致索引損毀或資料遺失。 例如,當線上索引建置同時在同一表上執行時,複製會更新多列。
當以下條件成立時,會發生此問題:
- 線上索引建置查詢以平行模式執行。
- 死鎖錯誤和致命錯誤如「鎖定超時」會以特定順序發生。
注意:為了解決此問題,請以串列模式執行線上索引建置 (DOP = 1) 。
解決方式
累積更新資訊
此問題首次在 SQL Server 的累積更新中得到修正。
2012 SQL Server SP1 累積更新 11 /en-us/help/2975396
2012 SQL Server SP2 的累積更新 1 /en-us/help/2976982
2014 SQL Server 累積更新 2 /en-us/help/2967546
關於 SQL Server 的累積更新
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
SQL Server 2012 熱修補資訊 Microsoft 支援的熱修補程式。 不過,這個熱修正僅針對本文所述的問題進行修正。 只對遇到此問題的系統套用熱修補。
如果熱修補程式可供下載,知識庫文章頂部有一個「熱修補程式下載可用」區塊。 若此區塊未出現,請向 Microsoft 客服與支援部門提交申請以取得熱修正。
注意:如果發生其他問題或需要排除故障,您可能需要另行申請服務。 一般的支援費用將適用於不符合本次熱修正範圍的其他支援問題與問題。 欲查詢完整的 Microsoft 客服與支援電話號碼清單,或建立獨立服務請求,請造訪以下 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support 注意「熱修正程式下載中」表單顯示該熱修正程式可用的語言。 如果你看不到你的語言,那是因為該語言沒有熱修正。
注意:套用熱修正後,擴展事件progress_report_online_index_operation會在事件新增的error_number資料欄位中加入錯誤細節。 此欄位可用於識別在線索引操作期間的任何內部故障。
重新啟動要求:套用這個熱修正後不需要重啟電腦。
熱修補更新資訊 此熱修補不會取代先前發布的熱修補。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。