我有一个Microsoft SQL Server 2005中,我试图让经纪人为我与T-SQL数据库:
SELECT name, is_broker_enabled FROM sys.databases
-- checking its status 0 in my case
ALTER DATABASE myDatabase SET ENABLE_BROKER
在Alter Database
需要很长的时间来处理。 现在已经过去半小时,它仍在运行。 不知道是否是在等待其他东西或我得先收拾东西,如删除所有信息,合同,根据服务代理队列和服务?
http://rusanu.com/2006/01/30/how-long-should-i-expect-alter-databse-set-enable_broker-to-run/
alter database [<dbname>] set enable_broker with rollback immediate;
下面的代码就可以立即启用该服务代理队列
ALTER DATABASE Database_Name SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
USE master;
GO
ALTER DATABASE Database_Name
SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
GO
USE Database_Name;
GO
其实,我更喜欢用NEW_BROKER
,它是在所有情况下都工作正常:
ALTER DATABASE [dbname] SET NEW_BROKER WITH ROLLBACK IMMEDIATE;
启用SQL Server服务代理需要数据库锁。 停止SQL Server代理,然后执行以下命令:
USE master ;
GO
ALTER DATABASE [MyDatabase] SET ENABLE_BROKER ;
GO
更改[MyDatabase的]在您的问题数据库的名称,然后启动SQL Server代理。
如果你想查看已启用或禁用服务代理的所有数据库,然后查询sys.databases中,例如:
SELECT
name, database_id, is_broker_enabled
FROM sys.databases
就我而言,我用的是SQL数据库在我的web项目就像是在调试模式下。 所以,当我关闭了所有的连接它执行罚款。