2009-07-07 13 views
98

Mam serwer Microsoft SQL 2005 i próbowałem włączyć Broker dla mojej bazy danych z tymi T-SQL:Włącz SQL Server Broker trwa zbyt długo

SELECT name, is_broker_enabled FROM sys.databases 
-- checking its status 0 in my case 
ALTER DATABASE myDatabase SET ENABLE_BROKER 

Alter Database zajmuje dużo czasu, aby proces. Teraz trwa ponad pół godziny i nadal trwa. Nie jestem pewien, czy czeka na coś innego, czy najpierw muszę coś posprzątać, na przykład usunąć wszystkie wiadomości, umowy, kolejki i usługi w ramach usługi pośrednika?

Odpowiedz

199

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; 
+6

co jest efektem „z wycofywania natychmiastowym”? –

+10

@ A.Dara Nie można zmienić bazy danych, dopóki trwają transakcje. Wycofanie natychmiastowe zakończy wszystkie te. – libjup

+0

możesz odpowiedzieć na [to] (http://stackoverflow.com/questions/38456433/cannot-find-the-object-querynotificationerrorsqueue-because-it-does-not-exist) post na sqlDependency? – stom

13

Z poniżej kodu można włączyć kolejki Service Broker natychmiast

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

Właściwie ja preferuje użycie NEW_BROKER, że działa poprawnie we wszystkich przypadkach:

ALTER DATABASE [dbname] SET NEW_BROKER WITH ROLLBACK IMMEDIATE; 
1

Włączenie usługi SQL Server Service Broker wymaga blokady bazy danych. Zatrzymaj SQL Server Agent, a następnie wykonać następujące czynności:

USE master ; 
GO 

ALTER DATABASE [MyDatabase] SET ENABLE_BROKER ; 
GO 

Change [MyDatabase] z nazwą bazy danych, o którym mowa, a następnie uruchomić SQL Server Agent.

Jeśli chcesz zobaczyć wszystkie bazy danych, które mają Service Broker włączona lub wyłączona, a następnie kwerendy sys.databases, na przykład:

SELECT 
    name, database_id, is_broker_enabled 
FROM sys.databases 
Powiązane problemy