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

沒有任何事件通知隨時丟棄。我們還沒有創建任何事件通知。 –