症状
请考虑以下情况:
-
假设你在 "始终启用" 组(AG)的 "始终启用" 组(AG)中启用更改数据捕获(CDC),该数据库具有在 Microsoft SQL Server 中配置的 DTC_SUPPORT = PER_DB 。
-
通过运行存储过程 sp_cdc_disable_db,尝试在 AG 中禁用数据库上的 CDC 。
-
在这种情况下,如果清理作业已使用 msdb.dbo.sp_delete_job 完成,你可能会收到一个断言转储 。
-
在另一种情况下,在执行 回滚保存点 后提交分布式事务或跨数据库事务也可能会导致断言转储。
-
有关详细信息,请参阅为 alwayson 可用性组配置分布式事务。
DateTime spid1462s * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** spid1462s *DATETIME Spid1462s * 开始堆栈转储:datetime Spid1462s * Datetime spid 1462DateTime spid1462s *Datetime spid1462s * Location: xactrm。 cpp:LineNumberDateTime spid1462s * Expression:!(m_activeDtcRMCount = = 0) | |(m_preparedDtcXdesCount = = m_xdesCount)
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
参考
了解Microsoft 用于描述软件更新的术语。