MSSQL - The SQL Server Broker for the current database is not enabled Frage: Ich habe eine Datenbank von MSSQL 2000 auf MSSQL 2005 / 2008 / 2012 portiert und seitdem kommt die Fehlermeldung: “The SQL Server Broker for the current database is not enabled, and as a result query notifications are not supported. Please enable the Service Broker for this database if you wish to use notifications.” Antwort: Im einfachsten Fall kann man den Service Broker unter den Eigenschaften der Datenbank unter Abschnitt "Optionen", Abschnitt "Service Broker" aktivieren. USE [master] GO ALTER DATABASE [IHREDATENBANK] SET ENABLE_BROKER WITH NO_WAIT GO Wenn das nicht hilft, dann hilft dieses Script (Danke an der Stelle an den Betreiber von http://hrnet.trailmax.info/): USEMASTER DECLARE@DBNAMESYSNAME SET@DBNAME='IHREDATENBANK' DECLARE@ERRORMESSAGENVARCHAR(1000) IFEXISTS(SELECT 1 FROMSYS.DATABASESWHEREDATABASE_ID=DB_ID(@DBNAME)ANDIS_BROKER_ENABLED= 0) BEGIN IFEXISTS(SELECT 1 FROMSYS.SYSPROCESSESWHEREDBID=DB_ID(@DBNAME)ANDSPID<>@@SPIDANDSTATUS<>'bac BEGIN DECLARE@SPIDINT MSSQL - The SQL Server Broker for the current database is not enabled DECLAREKILLPROCESSES_CURSORCURSORFOR SELECTSPIDFROMSYS.SYSPROCESSESWHEREDBID=DB_ID(@DBNAME)ANDSPID<>@@SPIDANDST OPENKILLPROCESSES_CURSOR FETCHNEXTFROMKILLPROCESSES_CURSORINTO@SPID WHILE(@@FETCH_STATUS= 0) BEGIN EXEC ('KILL '+@SPID) FETCHNEXTFROMKILLPROCESSES_CURSORINTO@SPID END CLOSEKILLPROCESSES_CURSOR DEALLOCATEKILLPROCESSES_CURSOR END IFEXISTS(SELECT 1 FROMSYS.SYSPROCESSESWHEREDBID=DB_ID(@DBNAME)) BEGIN SET@ERRORMESSAGE='Die Datenbank '+@DBNAME+' ist gerade in Verwendung. Der Service Broker kann aktuell nicht eingeschaltet werden.' RAISERROR (@ERRORMESSAGE,18,9); END ELSE BEGIN IFNOTEXISTS(SELECT 1 FROMSYS.DATABASESWHEREIS_BROKER_ENABLED= 1) EXEC('ALTER DATABASE '+@DBNAME+' SET ENABLE_BROKER') ELSE EXEC('ALTER DATABASE '+@DBNAME+' SET NEW_BROKER') SELECT'Der Service Broker ist eingeschaltet auf Datenbank '+@DBNAME END END MSSQL - The SQL Server Broker for the current database is not enabled ELSE BEGIN IFEXISTS(SELECT 1 FROMSYS.DATABASESWHEREDATABASE_ID=DB_ID(@DBNAME)ANDIS_BROKER_ENABLED= 1) SELECT'Der Service Broker fuer die Datenbank '+@DBNAME+' wurde eingeschaltet.' ELSE BEGIN SET@ERRORMESSAGE='Die Datenbank '+@DBNAME+' existiert nicht.' RAISERROR (@ERRORMESSAGE,18,9); END END ECS-Webhosting Support http://support.ecs-webhosting.de/Programmierung/MSSQL-The-SQL-Server-Broker-for-the-current-