明凯博客

关注网站技术,一个特立独行的程序员

SQL Server 维护计划不执行的BUG解决方案

最近发现SQL 2005的维护计划不执行,在维护计划中查看历史记录没有记录,在作业中中查看历史记录发现错误的记录,记录内容为:

日期 2014-5-5 9:36:00
日志 作业历史记录 (MaintenancePlan.Subplan_1)
步骤 ID 0
服务器 SERVER
作业名称 MaintenancePlan.Subplan_1
步骤名称 (作业结果)
持续时间 00:00:00
SQL 严重性 0
SQL 消息 ID 0
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 0
消息
该作业失败。 无法确定所有者 WWW-4410C397505\Administrator (拥有作业 MaintenancePlan.Subplan_1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 ‘WWW-4410C397505\Administrator’ 的信息,错误代码 0x534。 [SQLSTATE 42000] (错误 15404)).

  我发现问题在于用户的所属机器名与我系统的名称不符,安装系统时为WWW-4410C397505,后来我改为SERVER,在SQL Server Management Studio登陆时用WINDOWS身份验证,再建维护计划时,新建的维护计划的所有者还是以前机器名用户WWW-4410C397505\Administrator ,而不是SERVER\Administrator ,所以在执行计划时失败。
  我想这是SQL Server的BUG吧!
  解决方法:在作业中把所有者改为SQL 用户,好用了。
我发现在Microsoft网站上也有类似问题出现,http://social.microsoft.com/Forums/es-ES/sqlserverzhchs/thread/64a1f0be-dc1e-4d21-8aa6-d513fa19ff2e,标题是《SQL 2008计划备份不成功》
  所以以后建维护计划时,用SQL Server身份验证登陆,再建,这样才能保证成功。

上面的方法可以解决问题,但是有点麻烦,必须要把机器名改回原来的名字。
可是这不人性化啊,后来经过我研究我发现,其实这些老机器名实在数据库里面有保存的,
只要找到并修改就可以了。
最终方法:

打开SQL Server Management Studio,找到安全性、登录名,

里面有一个[旧计算机名]\Administrator的登录名。

右键,删除。

, , ,

相关文章

1 条评论 “SQL Server 维护计划不执行的BUG解决方案

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注