计算机名称更改以后,无法添加、更新或删除从msx服务器上发起的作业(或其步骤或调度)
--解决方法如:在查询分析器中执行下面的语句就好了:
use msdb
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
实际上, 上述方法的思路已经正确, 但是改电脑名后@@servername的值还是以前的 , 所以这样执行之后还是无法删除作业.
俺的野蛮方法是: update sysjobs set originating_server='目前的电脑名'
也就是直接改名字, 而不是用@@servername系统变量
加一点:
查了一下修改@@servername的方法, 完整的解决方案如下:
变更@@servername的方法:
方法一: 还是野蛮变更
use master
go
SP_CONFIGURE 'ALLOW UpdateS',1
RECONFIGURE WITH OVERRIDE
GO
update sysservers set srvname='目前的电脑名'
update sysservers set datasource='目前的电脑名'
go
SP_CONFIGURE 'ALLOW UpdateS',0
RECONFIGURE WITH OVERRIDE
GO
方法二: 使用系统存储过程变更:
exec sp_setnetname @server='目前的电脑名', @netname='目前的电脑名'
执行完SQL服务器名的变更后需要重新启动SQL服务.
然后再执行下面的
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
事实上, 有时在转换了服务器, 也会出现这种情况, 但上面的方法可以修复, 却没有办法启动作业调度, 所以用了上面的方法之后再删除作业后, 再重新新建一个作业.