Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions) SQL Server 2017 on Linux (all editions) 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)

徵兆

請試想下列案例:

  • 假設您在 Microsoft SQL Server 中有磁碟分割資料表,且它們是 CDC) 或交易性複寫 (變更資料擷取的一部分。 您可以從這些資料表切換或切換出磁碟分割區。

  • 當您執行資料操作語言 (DML) 作業時,在磁碟分割切換之後,您可能會注意到 發生EXCEPTION_ACCESS_VIOLATION ,並產生記憶體傾印檔案。

傳送到FilePath\FileNameDate/Time SqlDvaluExceptionHandler 的日期/時間#Stack Dump:ProcessID會產生嚴重例外 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server終止此程式。日期/時間* *}}} 日期/時間* 日期/時間* BEGIN STACK DUMP: Date/Time *日期/時間* 日期/時間* 日期/時間* 日期/時間* 例外位址 = 2000007FEE724BD80 Module (sqllang+0000000015BBD80) 日期/時間* 例外碼 = c0000005 EXCEPTION_ACCESS_VIOLATION Date/時間* Access 違規發生讀取位址 00000000000002A 日期/時間* 輸入緩衝區 70 位元組 日期/時間* sys.sp_MScdc_capture_job 日期/時間*

傳送到FilePath\FileNameDate/Time SqlDpidExceptionHandler 的日期/時間#Stack 轉儲 :處理 PID 產生的嚴重例外 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server終止此程式。日期/時間* *}}} DATE/Time * Date/Time * BEGIN STACK DUMP: Date/Time * Date/TimeSPIDDate/Time * Date/時間* 日期/時間* 例外位址 = 000007FEE9D26640 Module (sqllang+0000000001586640) Date/Time * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION 日期/時間* 存取違規發生讀取位址 0000000000002A 日期/時間* 輸入緩衝區 109 位元組 - 日期/時間* 16 00 00 00 00 12 00 00 00 00 00 00 00 00日期// 00 00 Time * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00 Date/Time * l c m d s & é 6c 00 63 00 6d 00 6400 73 00 00 00 00 00 26 04 04 f4 日期/時間* & & ÿ 01 00 00 00 00 0 0 26 04 04 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 26 04 04 20 a107 日期/時間* 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累積更新中修正:

      SQL Server 2017 的累積更新 1

      SQL Server 2016 SP1 的累積更新 5

      SQL Server 2014 SP2 的累積更新 8

每個SQL Server的新累積更新都包含所有 Hotfix 以及先前累積更新隨附的所有安全性修正。 查看SQL Server的最新累積更新:

SQL Server 2017 的最新累積更新

SQL Server 2016 的最新累積更新

2014 年 SQL Server 的最新累積更新

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考資料

瞭解 Microsoft 用來描述軟體更新的 術語

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。