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的登录名。
右键,删除。
动态磁盘与基本磁盘的区别详解 Server.MapPath()的参数详解
好博客,技术性强,欢迎回访,提供服务器租用托管,虚拟主机,云服务器等业务