启用 SQLServerBroker 的时间太长

我有一个 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需要很长的时间来处理。现在已经超过半个小时了,它还在运行。不确定它是否在等待其他东西,或者我必须首先清理任何东西,比如删除所有消息、契约、队列和服务代理下的服务?

169973 次浏览
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;

启用 SQLServerServiceBroker 需要数据库锁。请停止 SQLServer 代理,然后执行以下操作:

USE master ;
GO


ALTER DATABASE [MyDatabase] SET ENABLE_BROKER ;
GO

将[ MyDatabase ]更改为有问题的数据库的名称,然后启动 SQLServer 代理。

如果希望看到所有启用或禁用了 ServiceBroker 的数据库,那么可以查询 sys.database,例如:

SELECT
name, database_id, is_broker_enabled
FROM sys.databases