error|server|错误|服务器|解决
windows主机名变更后,试图更新或者删除SQL Server2000之前创建的job时会出现14274的错误。 SQL 7.0不会出现该错误,但是在cluster环境中,将SQL 7.0虚拟服务器升级到SQL Server2000后也可能产生该错误。
错误原因:
在msdb..sysjobs的列originating_server中保存了SQL Server 2000 instance的名字,其格式为'serverinstance'(在SQL 7.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
或者直接更新sysjobs的originating_server
use msdb
select * from sysjobs
update sysjobs set originating_server='现在服务器名称'