我将数据库从 SQL Server 2014 Enterprise 还原到 SQL Server 2017 Standard。
还原过程顺利,没有任何问题/错误。
然后,我在数据库上运行 DBCC CHECKDB,并收到以下与服务代理相关的消息。理解这一点的任何帮助表示赞赏。
消息 8997,级别 16,状态 1,第 1 行 Service Broker 消息 33305,状态 1:引用 28671 的多播消息正文行的引用计数值应为 0。
我将数据库从 SQL Server 2014 Enterprise 还原到 SQL Server 2017 Standard。
还原过程顺利,没有任何问题/错误。
然后,我在数据库上运行 DBCC CHECKDB,并收到以下与服务代理相关的消息。理解这一点的任何帮助表示赞赏。
消息 8997,级别 16,状态 1,第 1 行 Service Broker 消息 33305,状态 1:引用 28671 的多播消息正文行的引用计数值应为 0。
这可能是您备份的数据库存在的问题。
您是否需要保留现有的 Service Broker 对话?消息?经纪人标识符?
如果您不需要 Service Broker 消息,或者不需要保留它的任何对话或放置在分布式代理拓扑中,您可以使用 CLEANUP 或 ALTER DATABASE ... SET NEW_BROKER 结束所有对话。
如果您确实需要在保留其他对话和消息的同时解决此问题,您可能需要打开一个支持案例,因为实际上只有少数人可以就此向您提供建议。