0

虽然试图删除SQL服务代理对象,我来进行的跨这个错误不能删除SqlQueryNotificationService队列

队列 “SqlDependencyStarter.SqlQueryNotificationService-e1304de0-fb30-4009-b3fb-478c34acc40a” 无法删除因为它绑定到一个或多个服务。

但是在放下队列之前,我将放弃所有绑定到它的服务。

SET @sql = 'ALTER QUEUE [SqlDependencyStarter].[' + @service_queue_name + '] WITH STATUS = OFF, RETENTION = OFF, ACTIVATION (STATUS = ON, PROCEDURE_NAME = ' + @activation_procedure + ', MAX_QUEUE_READERS = 1, EXECUTE AS OWNER)'; 
EXEC sp_executesql @sql 
SET @sql = 'DROP SERVICE [' + @service_name + ']'; 
EXEC sp_executesql @sql 

然后我试图删除队列

SET @sql = 'DROP QUEUE [SqlDependencyStarter].[' + @service_queue_name + ']'; 
EXEC sp_executesql @sql 
+0

尝试用'GO'关键字 – cha

+0

用'EXEC sp_executesql的@分开你的查询sql'没有必要单独'go' –

回答

0

您需要先删除该服务,那么队列。

+0

即我做了什么。首先,我停用队列,放弃它的服务,然后放下队列 –

0

您需要删除的事件通知以及:

set @query = N'DROP EVENT NOTIFICATION [' + @eventName + N'] ON SERVER'; 

exec sp_executesql @query 
+0

没有任何事件通知随时丢弃。我们还没有创建任何事件通知。 –