SQLServer 手動建立作業

2021-04-13 01:08:55 字數 2185 閱讀 7948

如果在sql server 裡需要定時或者每隔一段時間執行某個儲存過程或3200字元以內的sql語句時,可以用管理->sql server**->作業來實現。

1、管理->sql server**->作業(按滑鼠右鍵)->新建作業

2、新建作業屬性(常規)->名稱[自定義本次作業的名稱]->啟用的方框內是勾號->分類處可選擇也可用預設的[未分類(本地)]->所有者預設為登入sql server使用者[也可選其它的登入]->描述[填寫本次工作詳細描述內容];

建立作業分類的步驟: sql server**->作業->右鍵選所有任務->新增、修改、刪除

3、新建作業屬性(步驟)->新建->步驟名[自定義第一步驟名稱]->型別[transact-sql(tsql)指令碼]->資料庫[要操作的資料庫]->命令 [ 如果是簡單的sql直接寫進去即可,也可用開啟按鈕輸入乙個已寫好的*.sql。檔案如果要執行儲存過程,填 exec p_procedure_name v_parameter1,[ v_parameter2…v_parametern] ->確定 (如果有多個步驟,可以再次呼叫下面的新建按鈕;也可以對已有的多個步驟插入、編輯、刪除);

4、建作業屬性(排程)->新建排程->名稱[自定義排程名稱]->啟用的方框內是勾號->排程->反覆出現-> 更改[排程時間表]->確定(如果只要儲存此作業,不要定時做可以把啟用的方框內是勾號去掉);

5、建作業屬性(通知)->用預設的通知方法就好[當作業失敗時,寫入windows應用程式系統日誌] ->確定。

sql server agent服務必須正常執行,啟動它的nt登入使用者要跟啟動sql server資料庫的nt登入使用者一致;

點作業右鍵可以檢視作業執行的歷史記錄情況,也可以立即啟動作業和停止作業。

在管理->sql server**->右鍵選屬性->作業系統->限制作業歷史記錄日誌的大小

作業歷史記錄日誌的最大大小(行數) ,預設為1000 。如果某台機器的作業數量很多,一定要提高它,例如為100000,每個作業歷史記錄日誌的最大行數,預設為100。如果作業每天執行兩次,需要保留乙個月的日誌,可以設為60它們之間有乙個相互制約關係, 我們可以根據自己的需要來改。

如果sql server伺服器改過機器名, 管理是舊名稱時建立的job的時候可能會遇到。錯誤14274: 無法新增、更新或刪除從msx伺服器上發起的作業(或其步驟或排程)。看了microsoft的文件:http://support.microsoft.com/default.aspx?scid=kb;en-us;281642說sql server 2000系統裡msdb..sysjobs 裡originating_server 欄位裡存的是原來的伺服器的名稱。24x7在用的系統肯定不能按上面microsoft的文件說的那樣把名字改回來又改過去。於是想,msdb..sysjobs 能否update originating_server 欄位成現在在用的新伺服器名?

use msdb

select * from sysjobs

找到originating_server 字段還是舊伺服器的job_id, 然後執行update語句:

update sysjobs set originating_server='new_server_name'

where job_id='b23bbebe-a3c1-4874-a4ab-0e2b7cd01e14'

(所影響的行數為 1 行)

這樣就可以新增、更新或刪除那些曾經出error 14274 的作業了。

如果想把作業由一台機器遷移到另一台機器,可以先保留好建立作業的指令碼, 然後在另一台機器上執行。

匯出所有作業的建立指令碼操作步驟:

管理->sql server**->作業(滑鼠右鍵)->所有任務->生成sql指令碼->儲存到作業系統下的某個sql檔案

匯出某乙個作業的建立指令碼操作步驟:

管理->sql server**->作業->選中待轉移的作業(滑鼠右鍵)->所有任務->生成sql指令碼->儲存到os下的某個sql檔案

然後在目的伺服器上執行剛才儲存下來的建立作業的sql指令碼。( 如果建作業的使用者或者提醒的使用者不存在, 則會出錯; 我們需要在目的伺服器上建立相關的windows使用者或者sql server資料庫登入, 也可以修改建立作業的指令碼, 把目的伺服器上不存在的使用者替換成已經有的使用者。如果生成日誌的物理檔案目錄不存在,也應該做相關的修改,例如d:/區轉f:/區等字串的 @command 命令裡有分隔符號 go 也會出錯, 可以把它去掉)

sql server 建立作業

sql設定定時作業的方法2008 07 1221 37如果在sql server 裡需要定時或者每隔一段時間執行某個儲存過程或3200字元以內的sql語句時,可以用管理 sql server 作業來實現。use msdb select from sysjobs 找到originating serve...

SQLServer2005建立定時作業任務

sqlserver定時作業任務 即資料庫自動按照定時執行的作業任務,具有週期性不需要人www.cppcns.com工干預的特點 創www.cppcns.com建步驟 使用最高許可權的賬戶登入 sa 一 啟動sql server sql server agent 二 新建作業 三 設定zjrjwgr作...

手動建立DataTable

方法一 datatable tbldatas new datatable datas datacolumn dc null dc tbldatas.columns.add id type.gettype system.int32 dc.autoincrement true 自動增加 dc.autoi...