今天在 删除 服务器上 以前 的 作业。现在不用了。
结果出现了 一下错误!
---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
错误 14274: 无法添加、更新或删除从 MSX 服务器上发起的作业(或其步骤或调度)。
---------------------------
确定
---------------------------
从网上一查, 大概原因是 因为 服务器 的名字 更改过。导致了 这个问题。
解决方法如下:
--在查询分析器中执行下面的语句,然后再删除作业:
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
update sysjobs set originating_server='dkhk0731-h90cmf'
dkhk0731-h90cmf 为 你机器的 网络标示名。
附: 网上的一篇帖子
计算机名称更改以后,无法添加、更新或删除从msx服务器上发起的作业(或其步骤或调度)
--解决方法如:在查询分析器中执行下面的语句就好了:
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
实际上, 上述方法的思路已经正确, 但是改电脑名后@@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