目前,我正在将服务器从一家公司转移到另一家公司。
他们希望将 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。
--将要删除的维护计划的ID放入以下查询中,以从日志表中删除该条目:
将要删除的维护计划的 ID 放入以下查询中,然后从子计划表中删除条目:
将要删除的维护计划的 ID 放入以下查询中,以从计划表中删除条目:
现在您可以从 Management Studio 中删除作业。
问题似乎是您有一个创建这些工作的维护计划。因此,您将无法简单地通过删除作业来删除它们。
您需要做的是确定与作业关联的维护计划,然后一起删除维护计划。然后,这应该删除作业或允许您执行此操作。
以下查询应该可以帮助您识别相关的维护计划。