KB4014327 - 修正:在 SQL Server 2014 中,當大量資料列插入分割的資料行存放區索引時,發生存取衝突

Applies To
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use)

症狀

假設您有一個磁碟分割資料表,其群組資料行存放區索引 (CCI) 在 SQL Server 2014 中建置在上面Microsoft。 當您嘗試使用大量插入作業 (將列插入該資料表時,例如,INSERT INTO...SELECT FROM...) ,如果下列條件適用於您的資料表,SQL Server可能會擲回存取違規 (AV) 錯誤:

  • 資料表的第二欄或以上欄位有 CHECK CONSTRAINT。

  • 您會從資料表中刪除具有 CHECK CONSTRAINT 的欄前面的一欄或多欄,因此在欄序數中產生間隙。

  • 然後,大量插入資料至第二個或後續磁碟分割 (而不是第一個分割) :

    • 使用 ALTER INDEX 重新組織 ... REBUILD PARTITION = <您的磁碟分割編號,第二個或更高。>
    • 使用 ALTER TABLE 切換為舞台表 ... 切換到 ... 分割區 <您的磁碟分割編號,秒或更高>。

發生此情況時,您可能會收到類似下列的錯誤訊息,而 AV 傾印檔案會自動在 SQL Server 錯誤記錄檔中產生:

注意

錯誤訊息:
Msg 596, Level 21, State 1, Line LineNumber
無法繼續執行,因為工作階段處於終止狀態。
Msg 0, Level 20, State 0, Line Number, Msg 0, Level 20, State 0, Line Number
目前命令發生嚴重錯誤。 如果有結果,應丟棄。

解決方式

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

SQL Server 2014 SP2 的累積更新 5

關於 SQL Server 的累積更新

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

適用於 SQL Server 2014 的最新累積更新

狀態

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

參考資料

了解 Microsoft 用來說明軟體更新的術語。