这两天启动监控数据库windows服务,一直启动不起来,原来一直好好的,这次突然出这么个错,记错误日志也没有信息,也就是说,在windows服务里,并不是所有的错误都会抛出来的。
后来,只能把服务代码放到winform程序中,结果还真抛出来错误了,如下:
“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker”。
上网一搜,这错还挺常见,
首先执行 SELECT is_broker_enabled FROM sys.databases WHERE name = 'DATABASE_NAME' 发现执行结果为0
这种情况下,执行如下两行语句即可。
ALTER DATABASE DATABASE_NAME SET NEW_BROKER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE DATABASE_NAME SET ENABLE_BROKER;
再次执行SELECT is_broker_enabled FROM sys.databases WHERE name = 'DATABASE_NAME' 结果变为1
此时,我的问题解决