1、检查Service Broker 是否开启
SELECT is_broker_enabled FROM sys.databases WHERE name = 'WLZhuJianMes'
//查询结果:is_broker_enabled de 结果是 0,代表数据库没有启动 Service Broker
//解决办法:注:两句同时执行,单独执行显示:正在回滚不合法事务。估计回滚已完成: 100%。
2、 开启 Service Broker
ALTER DATABASE WLZhuJianMes SET NEW_BROKER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE WLZhuJianMes SET ENABLE_BROKER;
//再次查询is_broker_enabled状态,状态为1,数据库没有启动 Service Broker成功
光用ALTER DATABASE DBName SET ENABLE_BROKER;语句开启经常会死机卡住,解决这个问题的方法是,先停止其它正在使用数据库的程序,然后运行
//ALTER DATABASE DBName SET NEW_BROKER WITH ROLLBACK IMMEDIATE;
//ALTER DATABASE DBName SET ENABLE_BROKER;
3、在数据库中停用 Service Broker
将数据库改为设置 DISABLE_BROKER 选项。
USE master ;
GO
ALTER DATABASE AdventureWorks2008R2 SET DISABLE_BROKER ;
GO