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 Assertion: File: < replicat>, lineNumber 失敗斷言 = ' db_mem」。 此錯誤可能是與時間有關的。 如果在重新執行語句後發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新開機伺服器以確保記憶體中資料結構未損毀。

此外,在斷言轉儲失敗之後,會建立多個存取違例轉儲檔案。

解決方案

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

SQL Server 2016 RTM 的累積更新6

SQL Server 2016 SP1 的累積更新3

SQL Server 2014 SP2 累積更新5

SQL Server 2012 累積更新 8 Service Pack 3

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2016 的最新累計更新

SQL Server 2014 的最新累計更新

SQL Server 2012 SP3 的最新累計更新

 

狀態

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

參考

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

Need more help?

Want more options?

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