加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

案例:SQL维护计划(数据库备份作业)执行失败

(2013-09-13 09:28:10)
标签:

it

问题:

SQL维护计划(数据库备份作业)执行失败(OS版本:windows 2008 R2DB版本:SQL SERVER 2012

http://s8/mw690/c30cf885gx6CC3Nm0KPd7&690

Winodws日志如下:

日志如下:

日志名称:          Application

来源:            SQLSERVERAGENT

日期:            2013/6/13 10:08:15

事件 ID:         208

任务类别:          (3)

级别:            警告

关键字:           经典

用户:            暂缺

计算机:           SIPAMC-VMGIS

描述:

SQL Server Scheduled Job 'MaintenancePlan-backup database.Subplan_1' (0x211D461DE549A04F9530E1FB3748B929) - Status: 失败 - Invoked on: 2013-06-13 10:08:15 - Message: 该作业失败。  无法确定所有者 WIN-QEOMMO0E4V7\Administrator (拥有作业 MaintenancePlan-backup database.Subplan_1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT /用户 'WIN-QEOMMO0E4V7\Administrator' 的信息,错误代码 0x534 [SQLSTATE 42000] (错误 15404)).

事件 Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

  <System>

    <Provider Name="SQLSERVERAGENT" />

    <EventID Qualifiers="16384">208</EventID>

    <Level>3</Level>

    <Task>3</Task>

    <Keywords>0x80000000000000</Keywords>

    <TimeCreated SystemTime="2013-06-13T02:08:15.000000000Z" />

    <EventRecordID>51937</EventRecordID>

    <Channel>Application</Channel>

    <Computer>SIPAMC-VMGIS</Computer>

    <Security />

  </System>

  <EventData>

    <Data>MaintenancePlan-backup database.Subplan_1</Data>

    <Data>0x211D461DE549A04F9530E1FB3748B929</Data>

    <Data>失败</Data>

    <Data>2013-06-13 10:08:15</Data>

    <Data>该作业失败。  无法确定所有者 WIN-QEOMMO0E4V7\Administrator (拥有作业 MaintenancePlan-backup database.Subplan_1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 'WIN-QEOMMO0E4V7\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (错误 15404)).</Data>

  </EventData>

</Event>

 

解决办法:

问题在于机器名称与实际不符,系更改计算机名称所致,安装操作系统时为WIN-QEOMMO0E4V7,后来改为SIPAMC-VMGIS,在SQL Server Management Studio登陆时用WINDOWS身份验证,建维护计划时,新建的维护计划的所有者还是以前的机器名称\用户WIN-QEOMMO0E4V7Administrator ,而不是SIPAMC-VMGIS\Administrator ,所以在执行计划时失败。

 

USE MASTER

GO

SELECT @@SERVERNAME;

SELECT SERVERPROPERTY('SERVERNAME')

--如果这两个结果不一致,说明机器改过名字,在配置复制时也会报错。

--要修复此问题,执行下面的语句,完成后重新启动SQL服务

IF SERVERPROPERTY('SERVERNAME') <> @@SERVERNAME 

BEGIN 

    DECLARE @SERVER SYSNAME 

    SET @SERVER = @@SERVERNAME  

    EXEC SP_DROPSERVER @SERVER = @SERVER 

    SET @SERVER = CAST(SERVERPROPERTY('SERVERNAME') AS SYSNAME) 

    EXEC SP_ADDSERVER @SERVER = @SERVER, @LOCAL = 'LOCAL' 

END

 

备注:注册表中以下值还存在以前计算机名,但不影响使用,可以不用更改。
1).HKEY_LOCAL_MACHINE->Software->Microsoft->Microsoft SQL Server->110->Machines下的OriginalMachineName
2).HKEY_LOCAL_MACHINE->Software->Microsoft->Microsoft SQL Server->Services->Report Server下的GroupPrefix

.HKEY_LOCAL_MACHINE->Software->Wow6432Node->Microsoft->Microsoft SQL Server->Services->Report Server下的GroupPrefix
3).HKEY_LOCAL_MACHINE->Software->Microsoft->Microsoft SQL Server->Services->SSIS Server下的GroupPrefix
.HKEY_LOCAL_MACHINE->Software->Wow6432Node->Microsoft->Microsoft SQL Server->Services->SSIS Server下的GroupPrefix

4).HKEY_LOCAL_MACHINE->Software->Microsoft->schedulingAgent下的OldName

参考链接:

Steps to change the server name for a SQL Server machine

http://www.mssqltips.com/sqlservertip/2525/steps-to-change-the-server-name-for-a-sql-server-machine/

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有