错误14274:无法添加、更新或删除从msx服务器上发起的作业(或其步骤或调度)

来源:互联网 发布:淘宝卖家可以删差评吗 编辑:程序博客网 时间:2024/06/01 09:41

http://blog.csdn.net/lingxyd_0/article/details/3899447

今天在 删除 服务器上 以前 的 作业。现在不用了。

 

结果出现了 一下错误!

 

---------------------------
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 

 

 

原创粉丝点击