我们的SQL 2005服务器有一个无法删除的维护计划。
当我尝试通过Management Studio删除它时,我收到以下错误:
执行时发生异常 Transact-SQL语句或批处理。 (Microsoft.SqlServer.ConnectionInfo) - >对象'sysmaintplan_plans'上的SELECT权限被拒绝, 数据库'msdb',架构'dbo'。 (Microsoft SQL Server,错误:229)
其SQL 2005企业版版本9.0.3042.0
我已经能够修改计划,使其无法执行任何操作,但我无法重命名或删除它。
我预感到这可能与Service Pack 2有关,因为维护计划可能是在应用SP2之前创建的,我听说有些人在这种情况下遇到了问题。
编辑:我以sa
登录答案 0 :(得分:0)
感谢SqlACID提出解决此问题的建议(参见问题评论)
我一直在另一台机器上使用Management Studio。
在服务器上运行Management Studio(并以SA身份登录)允许我删除顽固的维护计划。
答案 1 :(得分:0)
由于权限问题,我无法删除维护计划。 “用户SA的身份验证失败” - 我使用服务器上的Management Studio以SA身份登录。
以下是我能够解决问题的方法:
作为预防措施,我也这样做了:
最后
希望这有帮助。
答案 2 :(得分:0)
我对Pete的建议没有成功,但我确实按照这里的步骤取得了成功:https://social.msdn.microsoft.com/forums/sqlserver/en-US/ae6f809f-ef74-4534-8327-b7b120a2d700/unable-to-delete-a-sql-2005-maintenance-plan
见kahil kahalas的帖子:它说:
您也可以使用T-Sql删除SQL 2005维护计划。
我们需要执行以下步骤,从sysmaintplan_log表或sysmaintplan_subplans表中删除作业或维护计划。
第1步: 执行以下查询以获取维护计划名称和Id SELECT NAME,ID FROM MSDB..SYSMAINTPLAN_PLANS
(确保为步骤2,3和4选择了msdb)
第2步: 将步骤1中获取的Id替换为以下查询,并从日志表中删除该条目 从SYSMAINTPLAN_LOG删除WHERE PLAN_ID =''
第3步: 将步骤1中获取的Id替换为以下查询,并从子计划表中删除该条目,如下所示, 从SYSMAINTPLAN_SUBPLANS删除WHERE PLAN_ID =''
第4步: 最后使用以下查询删除维护计划,其中ID是从Step1获得的 从SYSMAINTPLAN_PLANS删除WHERE ID =''
第5步: 检查并删除SSMS中的作业(如果存在)。
(我必须进入Jobs Activity Monitor并从那里删除它。)
希望它能帮到你!
卡普尔卡拉斯