計算機名稱更改以後,無法添加、更新或刪除從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
事實上, 有時在轉換了服務器, 也會出現這種情況, 但上面的方法可以修復, 卻沒有辦法啓動作業調度, 所以用了上面的方法之後再刪除作業後, 再重新新建一個作業.