数据库连接错误

 vs 在运行web应用程序显示 “未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker。”如下图:

 

产看其他博主的博客,尝试了一下,结果问题解决了。

解决方案:  执行一段 sql 脚本就好了

/* Databasename   数据库的名字 */
ALTER DATABASE DatabaseName SET NEW_BROKER WITH ROLLBACK IMMEDIATE; ALTER DATABASE Databasename SET ENABLE_BROKER;

查询  is_broker_enabled

SELECT is_broker_enabled FROM sys.databases WHERE name = 'DBNAME'
/*DBNAME 数据库名 */

查询结果

NEW_BROKER选项,SQL SERVER联机丛书上的解释:

每个数据库都包含一个 Service Broker 标识符。sys.databases 目录视图的 service_broker_guid 列显示该实例中每个数据库的 Service Broker 标识符。Service Broker 路由使用 Service Broker 标识符来保证一个会话的所有消息都传递到同一个数据库。因此,Service Broker 标识符在同一网络上的所有实例中应是唯一的。否则,消息可能被误传。

SQL Server 为每个新数据库生成新的 Service Broker 标识符。由于标识符是新的,因此 SQL Server 可以安全地激活新数据库中的 Service Broker 消息传递。网络上的其他数据库应该不会有与之相同的 Service Broker 标识符。

NEW_BROKER。此选项用于激活 Service Broker 消息传递,同时为数据库创建新的 Service Broker 标识符。由于该数据库中所有的现有会话都未使用新的实例标识符,因此,此选项将结束这些会话并返回一个错误。

ROLLBACK IMMEDIATE将立即回滚未完成的事务。

转至:http://www.cnblogs.com/wanghk/archive/2012/05/12/2497170.html       

posted @ 2017-12-09 15:21  悲欢自饮  阅读(312)  评论(0编辑  收藏  举报