症狀
請考慮以下案例:
- 假設你在 SQL Server 中有分割Microsoft資料表,且它們屬於 Change Data Capture (CDC) 或交易複製的一部分。 你可以從這些資料表切換或切換分割區。
- 分割區切換後,當你執行資料操作語言 (DML) 操作時,可能會發現 EXCEPTION_ACCESS_VIOLATION 發生並產生記憶體傾印檔案。
注意
日期/時間 ***堆疊傾印正在傳送到 FilePath\FileName
日期/時間 SqlDumpExceptionHandler: Process ProcessID 產生了致命的例外 c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server 正在終止這個流程。
日期/時間 * *******************************************************************************
日期/時間 *
日期/時間 * 開始堆疊傾倒:
日期/時間 *
日期/時間 *
日期/時間 *
日期/時間 *
日期/時間 * 例外位址 = 000007FEE724BD80 模組 (sqllang+000000000015BBD80)
日期/時間 * 例外代碼 = c0000005 EXCEPTION_ACCESS_VIOLATION
日期/時間 * 存取違規發生 讀取位址000000000000002A
日期/時間 * 輸入緩衝區 70 位元組
日期/時間 * sys.sp_MScdc_capture_job
日期/時間 *
注意
日期/時間 ***堆疊傾印正在傳送到 FilePath\FileName
日期/時間 SqlDumpExceptionHandler:程序 PID 產生致命例外 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server 正在終止這個流程。
日期/時間 * *******************************************************************************
日期/時間 *
日期/時間 * 開始堆疊傾倒:
日期/時間 * 日期/時間SPID
日期/時間 *
日期/時間 *
日期/時間 * 例外位址 = 000007FEE9D26640 模組 (sqllang+0000000001586640)
日期/時間 * 例外代碼 = c0000005 EXCEPTION_ACCESS_VIOLATION
日期/時間 * 存取違規發生 讀取位址000000000000002A
日期/時間 * 輸入緩衝區 109 位元組 -
日期/時間 * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00
日期/時間 * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
日期/時間 * l c m d s s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 00 26 04 04 f4
日期/時間 * & & ÿ 01 00 00 00 00 00 26 04 04 00 00 00 00 00 00 26 04 04 ff
日期/時間 * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 00 26 04 04 8f 13 00
日期/時間 * & & ¡ 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 20 a1 07
日期/時間 * 00
- 如果你對目標資料表執行以下查詢,可能會發現 is_replicated 欄位的值會被標記為「1」,表示非叢集索引,這並不正確。
select index_id, partition_number,* from sys.system_internals_partition_columns pc with(nolock)
JOIN sys.partitions p with(nolock)
ON p.partition_id = pc.partition_id
where p.object_id = object_id ('PartitionTable')
order by 2
解決方式
此問題已在以下 SQL Server 的累積更新中得到修正:
Cumulative Update 5 for SQL Server 2016 SP1
Cumulative Update 8 for SQL Server 2014 SP2
關於 SQL Server 的累積更新:
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。