症狀
記錄讀取器代理程式或 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 2012 Service Pack 3 的累積更新 8
建議:安裝最新的 SQL Server 累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
適用於 SQL Server 2012 SP3 的最新累積更新
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。