Sql-Server

SQL Server - 無法刪除空閒作業

  • November 24, 2015

目前,我正在將伺服器從一家公司轉移到另一家公司。

他們希望將 SQL Server 安裝在伺服器上,因此我們正在清除所有數據庫、維護計劃和作業。

我正在嘗試刪除一堆 SQL Server 代理作業,但即使它們被禁用,它們仍處於“空閒”模式,因此在嘗試刪除它們時會引發以下錯誤:

Job 的刪除失敗job_name.Subplan_1。( Microsoft.SqlServer.Smo)

執行 Transact-SQL 語句或批處理時發生異常。( Microsoft.SqlServer.ConnectionInfo)

DELETE語句與REFERENCE約束衝突FK_subplan_job_id。衝突發生在數據庫“msdb”、表dbo.sysmaintplan_subplans、列job_id中。

該語句已終止。(Microsoft SQL Server,錯誤:547)

如何從作業中刪除 IDLE 狀態以便刪除通過?

您有維護計劃。嘗試按照以下步驟操作:

找到要刪除的維護計劃名稱和 ID。寫下您要刪除的人的 id。

SELECT name, id FROM msdb.dbo.sysmaintplan_plans

–將要刪除的維護計劃的ID放入以下查詢中,以從日誌表中刪除該條目:

   DELETE FROM msdb.dbo.sysmaintplan_log WHERE plan_id = ''

將要刪除的維護計劃的 ID 放入以下查詢中,然後從子計劃表中刪除條目:

   DELETE FROM msdb.dbo.sysmaintplan_subplans WHERE plan_id = ''

將要刪除的維護計劃的 ID 放入以下查詢中,以從計劃表中刪除條目:

   DELETE FROM msdb.dbo.sysmaintplan_plans WHERE id = ''

現在您可以從 Management Studio 中刪除作業。

引用自:https://dba.stackexchange.com/questions/121877