在這裡講下SQL代理作業的設定方法:
如果在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知識:
SQL Server Agent服務必須正常運行,啟動它的NT登入使用者要跟啟動SQL Server資料庫的NT登入使用者一致;
點作業右鍵可以查看作業執行的記錄情況,也可以立即啟動作業和停止作業。
最近在看作業記錄時,發現有的作業記錄的記錄多,有的作業記錄的記錄的記錄少。如何能使某些作業按各自的需求,保留一段時間.比如保留一個月的記錄.看了SQL Server的線上協助文檔,裡面介紹說:
在管理->SQL Server代理->右鍵選屬性->作業系統->限制作業記錄日誌的大小
作業記錄日誌的最大大小(行數) ,預設為1000 。如果某台機器的作業數量很多,一定要提高它,例如為100000,每個作業記錄日誌的最大行數,預設為100。如果作業每天執行兩次,需要保留一個月的日誌,可以設為60它們之間有一個相互制約關係, 我們可以根據自己的需要來改。