SQL Server Broker가 너무 오래 걸리도록 설정


134

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데 시간이 오래 걸립니다. 이제 30 분 이상이 지났으며 여전히 실행 중입니다. 다른 것을 기다리고 있는지 또는 서비스 브로커에서 모든 메시지, 계약, 대기열 및 서비스 삭제와 같은 것을 먼저 정리 해야하는지 확실하지 않습니까?


다른 사람들을위한 참고 사항으로, db에 열린 연결이 있으면이 지연이 발생할 수 있습니다. sp_who어떤 것이 있는지 보여주기 위해 달려라 .. (당신일지도 모른다)
ChipperG

답변:



11
USE master;
GO
ALTER DATABASE Database_Name
    SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
GO
USE Database_Name;
GO

2

실제로 나는 사용하는 것을 선호하고 NEW_BROKER있으며 모든 경우에 잘 작동합니다.

ALTER DATABASE [dbname] SET NEW_BROKER WITH ROLLBACK IMMEDIATE;

2
당신은 왜 당신이 그것을 선호하고 다르게 무엇을 설명해야합니다 ....
미치 밀


2

SQL Server Service Broker를 활성화하려면 데이터베이스 잠금이 필요합니다. SQL Server 에이전트를 중지 한 후 다음을 실행하십시오.

USE master ;
GO

ALTER DATABASE [MyDatabase] SET ENABLE_BROKER ;
GO

문제의 데이터베이스 이름으로 [MyDatabase]를 변경 한 다음 SQL Server 에이전트를 시작하십시오.

Service Broker가 활성화 또는 비활성화 된 모든 데이터베이스를 보려면 sys.databases를 쿼리하십시오.

SELECT
    name, database_id, is_broker_enabled
FROM sys.databases
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.