徵狀
假設您有一個已分區資料表,且在 Microsoft SQL Server 2014 中建立了聚集列建索引(CCI)。 當您嘗試使用大量插入作業(例如,插入到 ...),將列插入到該表格中時 .。。 選取 [從 ...]),如果下列情況適用于您的表格,SQL Server 可能會引發存取違例(AV)錯誤:
-
資料表在第二欄或較高資料列上有 CHECK 約束。
-
您可以在欄前面加上一或多個欄,並在表格中放入 CHECK 限制,從而在欄序號中產生空隙。
-
然後,將資料大容量插入第二個或後續分區(但不是第一個分區),其為:
-
使用 [變更索引] 進行重組 .。。 重建分區 = <您的分區號碼、第二或更新版本>。
-
使用 ALTER TABLE 切換階段資料表 .。。 切換到 .。。 <分區號碼、秒或以上的> 分區。
-
發生這種情況時,您可能會收到類似下列的錯誤訊息,而且會在 SQL Server 錯誤記錄資料夾中自動產生 AV 轉儲檔案:
錯誤訊息: Msg 596、Level 21、State 1、Line LineNumber 無法繼續執行,因為會話處於 [kill] 狀態。 Msg 0、Level 20、State 0、Line LineNumber 目前的命令發生嚴重錯誤。 結果(如果有的話)應該捨棄。
解決方案
此問題已在下列 SQL Server 累積更新中修正:
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 詞彙。