应用对象
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>, 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 用于描述软件更新的术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。