【发布时间】:2017-09-14 05:17:42
【问题描述】:
在尝试删除 SQL 服务代理对象时,我遇到了这个错误
队列 '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
【问题讨论】:
-
尝试使用
GO关键字分隔您的查询 -
带有`EXEC sp_executesql @sql` 不需要单独的
go
标签: sql-server service-broker sqldependency query-notifications