Domanda

Ho un server Microsoft SQL 2005 e ho cercato di abilitare Broker per la mia base di dati con quelli T-SQL:

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

Il Alter Database richiede molto tempo per elaborare. E 'ormai più di mezz'ora e si è ancora in esecuzione. Non sono sicuro se si è in attesa di qualcos'altro o devo ripulire nulla prima, come ad esempio eliminare tutti i messaggi, contratti, code e servizi con Service Broker?

È stato utile?

Soluzione

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;

Altri suggerimenti

Con il codice qui sotto è possibile attivare subito la coda di Service Broker

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

L'attivazione di SQL Server Service Broker richiede un blocco del database. Arrestare l'agente SQL Server e quindi eseguire il seguente:

USE master ;
GO

ALTER DATABASE [MyDatabase] SET ENABLE_BROKER ;
GO

Cambia [MyDatabase] con il nome del database in questione e quindi avviare SQL Server Agent.

Se si desidera visualizzare tutti i database che hanno permesso Service Broker o disabilitato, quindi eseguire una query sys.databases, per esempio:

SELECT
    name, database_id, is_broker_enabled
FROM sys.databases

In realtà io sto preferendo utilizzare NEW_BROKER, si sta lavorando bene su tutti i casi:

ALTER DATABASE [dbname] SET NEW_BROKER WITH ROLLBACK IMMEDIATE;

Nel mio caso, stavo usando il database SQL nel mio progetto web come se fosse in modalità di debug. Così, quando ho chiuso tutti i collegamenti è eseguita bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top