KB4014706 - 修正:在 SQL Server 中取消 sp_replcmds 預存程序後,判斷提示失敗和許多存取違規傾印檔案

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Service Pack 2 - duplicate (do not use) 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 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

症狀

記錄讀取器代理程式或 CDC 掃描作業會執行 sp_replcmds 預存程序,以傳回標示為複寫的命令。 在 Microsoft SQL Server 中,如果預存程序在執行期間取消,SQL Server 錯誤記錄檔中可能會記錄類似下列的失敗判斷提示:

注意

錯誤:17066,嚴重性:16,狀態:1。
SQL Server 判斷提示:檔案:<replicat.cpp,lineNumber> 失敗判斷 = 'db_mem'。 此錯誤可能與時間有關。 如果重新執行陳述式後仍持續發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新啟動伺服器以確保記憶體內資料結構未損毀。

此外,在失敗的判斷提示傾印之後,會建立多重存取違規傾印檔案。

解決方式

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

SQL Server 2016 RTM 的累積更新 38(組建 50785)

SQL Server 2016 SP1 累積更新 3

SQL Server 2014 SP2 的累積更新 5

SQL Server 2012 Service Pack 3 的累積更新 8

建議:安裝最新的 SQL Server 累積更新

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

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

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

適用於 SQL Server 2012 SP3 的最新累積更新

狀態

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

參考資料

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