錯誤場景:
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
參考文章:
http://support.microsoft.com/default.aspx?scid=kb;en-us;281642