日期:2014-05-18  浏览次数:20759 次

SQL Server 2005的问题请高手帮帮忙
我登陆到其他服务器上的在Microsoft   SQL   Server   Management   Studio中创建了个维护计划,然后在SQL   Server代理中创建了个作业,在作业的步骤中绑定了这个维护计划并设置了计划(定期触发),创建的时候却出现错误提示:
  执行   Transact-SQL   语句或批处理时发生了异常。     (Microsoft.SqlServer.ConnectionInfo)
  不能将值   NULL   插入列   'owner_sid ',表   'msdb.dbo.sysjobs ';列不允许有空  值。INSERT   失败。
  语句已终止。   (Microsoft   SQL   Server,错误:   515)

我只能尝试在现有作业中修改其功能,然后又尝试删除,又发生错误提示:
  删除   对于   Job“MaintenancePlan”失败。     (Microsoft.SqlServer.Smo)
  
  执行   Transact-SQL   语句或批处理时发生了异常。      (Microsoft.SqlServer.ConnectionInfo)
  DELETE   语句与   REFERENCE   约束 "FK_subplan_job_id "冲突。该冲突发生于数据  库 "msdb ",表 "dbo.sysmaintplan_subplans ",   column   'job_id '。
  语句已终止。   (Microsoft   SQL   Server,错误:   547)

我无法创建和删除作业,问题是我有管理员权限,而且一切操作都是可视化操作不是用SQL语句的.那就不应该出现以上插入NULL值和约束的问题.

请大家无论如何帮帮忙,谢谢.


------解决方案--------------------
维护计划的作业是不能在SQL Server代理中删除的

要删除请去维护计划里面删除,因为两个计划之间是有外键约束的

创建就简单了
你要去找到你在维护计划里面创建的包,然后你必须给它一个执行者,因为创建的时候默认是windows帐户权限是比较高的,你选择的如果不是sa很可能因权限不足而失败