windows主机名变更后,试图更新或者删除2000之前创建的job时会出现14274的错误。SQL7.0不会出现该错误,但是在cluster环境中,将SQL7.0虚拟服务器升级到SQLServer2000后也可能产生该错误。

错误原因:

在msdb..sysjobs的列originating_server中保存了SQLServer2000instance的名字,其格式为'serverinstance'(在SQL7.0中为(local),故不受影响),当server名变更后,sysjobs的originating_server并没有相应的更新成新的serverinstance。

解决办法:

1.将server改回原来的名称
2.将所有的job保存为script,然后删除
3.将server变更为新的名字
4.依次执行第2步产生的script,恢复所有job

或者直接更新sysjobs的originating_server
use msdb 
go  
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE 
GO  
update sysjobs set originating_server=@@servername 
go  
SP_CONFIGURE 'ALLOW UPDATES',0 RECONFIGURE WITH OVERRIDE 
GO

--如不行直接执行下面的语句,然后再删除作业:
use msdb
go
update sysjobs set originating_server='服务器名称'
go

参考文章:
[url]http://support.microsoft.com/default.aspx?scid=kb;en-us;281642[/url]