我收到来自我的 MSSQL 2005 Standard 机器的投诉,他们无法启动服务代理,然后是来自服务代理经理的消息:
Jul 20 08:35:47 sql3 MSSQL$SQL3: 9697: Could not start Service Broker for database id: 5763. A problem is preventing SQL Server from starting Service Broker. Check the SQL Server error log for additional messages.
Jul 20 08:35:47 sql3 MSSQL$SQL3: 9645: An error occurred in the service broker manager, Error: 3602, State: 145.
我找不到关于错误 3602 对服务代理管理器意味着什么的文档。知道如何诊断和解决这个问题吗?
3602?这确实很奇怪。
如果您有任何重复项,您能否检查 sys.databases service_broker_guid,特别是如果 id 为 5763 的数据库与其他数据库重复?
TechNet 论坛上有一个帖子,http ://social.msdn.microsoft.com/Forums/en-US/sqlservicebroker/thread/a5af6e9a-f3b6-4b73-ae3d-95238502d28f 涉及到这个问题(尽管原始帖子不是关于那个错误),其中一个回复说 3602 是“交易中止通知”。
是不是在模式更新后,针对这些数据库的某些事务或操作没有成功完成(顺便说一句,这数千个(!)数据库是否都与模式相同,即同一应用程序的数据库)?您是否尝试过运行 SQL Profiler 并查看是否可以在 3602 发生时捕捉到?
想我找到了:
看:
http://social.msdn.microsoft.com/Forums/en-US/sqlservicebroker/thread/a5af6e9a-f3b6-4b73-ae3d-95238502d28f