修正:當您在 SQL Server 2012 或 SQL Server 2014 中執行線上索引重建時,叢集索引中發生資料損毀

套用到
SQL Server 2012 Enterprise SQL Server 2012 Enterprise SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use)

症狀

當線上索引重建與並行查詢一起使用以修改 Microsoft SQL Server 2012 或 SQL Server 2014 中的許多資料列時,可能會導致索引損毀或資料遺失Microsoft。 例如,當線上索引建置同時在同一個資料表上執行時,複寫會更新資料表上的許多資料列。

當下列條件成立時,會出現此問題:

  • 線上索引組建查詢會以平行模式執行。
  • 鎖死錯誤和嚴重錯誤(例如「鎖定逾時」)會依特定順序發生。

注意:若要解決此問題,請以序列模式 (DOP = 1) 執行線上索引組建。

解決方式

累積更新資訊

此問題已先在下列 SQL Server 累積更新中修正。

SQL Server 2012 SP1 的累積更新 11 /zh-tw/help/2975396

SQL Server 2012 SP2 的累積更新 1 /zh-tw/help/2976982

2014 年 SQL Server 累積更新 2 /zh-tw/help/2967546

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

SQL Server 2012 Hotfix 資訊 Microsoft 提供支援的 Hotfix。 不過,此 Hotfix 僅用來修正本文所述的問題。 僅將此 Hotfix 套用至發生此特定問題的系統。

如果 Hotfix 可供下載,本知識庫文章頂端有「Hotfix 可供下載」一節。 如果未顯示此區段,請提交要求給 Microsoft 客戶服務與支援以取得 Hotfix。

注意: 如果發生其他問題或需要進行任何疑難排解,您可能需要建立另外一個服務要求。 一般的支援費用將適用於不符合此特定 Hotfix 資格的其他支援問題和問題。 如需 Microsoft 客戶服務及支援服務的完整電話號碼清單,或建立個別的服務要求,請造訪下列 Microsoft 網站:

/contactus/?ws=support 注意:「Hotfix 下載可用」表單顯示 Hotfix 可用的語言。 如果您找不到您的語言,是因為該語言沒有 Hotfix。

注意:在您套用 Hotfix 之後,擴充事件progress_report_online_index_operation會在已新增至事件的 [error_number資料] 欄位中包含錯誤詳細資料。 此欄位可用來識別 Online Index 作業期間的任何內部失敗。

重新啟動需求套用此 Hotfix 之後,您不必重新啟動電腦。

Hotfix 取代資訊此 Hotfix 不會取代先前發行的 Hotfix。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。