如果SQL Server服務器改過機器名
管理是舊名稱時建立的job的時候可能會遇到錯誤
: 無法添加
更新或刪除從MSX服務器上發起的作業(或其步驟或調度)
看了Microsoft的文檔http://supportmicrosoftcom/defaultaspx?scid=kb;enus; 說SQL Server 系統裡msdbsysjobs 裡originating_server 字段裡存的是原來的服務器的名稱X在用的系統肯定不能按上面Microsoft的文檔說的那樣把名字改回來又改過去於是想msdbsysjobs 能否update originating_server 字段成現在在用的新服務器名?
use msdb
select * from sysjobs
找到originating_server 字段還是舊服務器的job_id然後執行update語句:
update sysjobs set originating_server=new_server_name
where job_id=BBBEBEACAABEBCDE
(所影響的行數為 行)
這樣就可以添加更新或刪除那些曾經出error 的作業了
如果想把作業由一台機器遷移到另一台機器可以先保留好創建作業的腳本然後在另一台機器上運行
導出所有作業的創建腳本操作步驟:管理>SQL Server代理>作業(鼠標右鍵)>所有任務>生成SQL腳本>保存到操作系統下的某個sql文件
導出某一個作業的創建腳本操作步驟:管理>SQL Server代理>作業>選中待轉移的作業(鼠標右鍵)>所有任務>生成SQL腳本>保存到OS下的某個sql文件然後在目的服務器上運行剛才保存下來的創建作業的sql腳本
( 如果建作業的用戶或者提醒的用戶不存在則會出錯; 我們需要在目的服務器上建立相關的WINDOWS用戶或者SQL Server數據庫登錄也可以修改創建作業的腳本把目的服務器上不存在的用戶替換成已經有的用戶如果生成日志的物理文件目錄不存在也應該做相關的修改例如d:\區轉f:\區等字符串的 @command 命令裡有分隔符號 go 也會出錯可以把它去掉)
[] []
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22368.html