如果在SQL Server 里需要定時或者每隔一段時間執(zhí)行某個存儲過程或3200字符以內(nèi)的SQL語句時,可以用管理->SQL Server代理->作業(yè)來實現(xiàn)。 1、管理->SQL Server代理->作業(yè)(按鼠標(biāo)右鍵)->新建作業(yè)-> 2、新建作業(yè)屬性(常規(guī))->名稱[自定義本次作業(yè)的名稱]->啟用的方框內(nèi)是勾號->分類處可選擇也可用默認(rèn)的[未分類(本地)]->所有者默認(rèn)為登錄SQL Server用戶[也可選其它的登錄]->描述[填寫本次工作詳細(xì)描述內(nèi)容]; [ 創(chuàng)建作業(yè)分類的步驟:SQL Server代理->作業(yè)->右鍵選所有任務(wù)->添加、修改、刪除 ] 3、新建作業(yè)屬性(步驟)->新建->步驟名[自定義第一步驟名稱]->類型[Transact-SQL(TSQL)腳本]->數(shù)據(jù)庫[要操作的數(shù)據(jù)庫]->命令[ 如果是簡單的SQL直接寫進(jìn)去即可,也可用打開按鈕輸入一個已寫好的*.sql文件 如果要執(zhí)行存儲過程,填exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]]->確定(如果有多個步驟,可以再次調(diào)用下面的新建按鈕;也可以對已有的多個步驟插入、編輯、刪除); 4、建作業(yè)屬性(調(diào)度)->新建調(diào)度->名稱[自定義調(diào)度名稱]->啟用的方框內(nèi)是勾號->調(diào)度->反復(fù)出現(xiàn)->更改[調(diào)度時間表]->確定(如果只要保存此作業(yè),不要定時做可以把啟用的方框內(nèi)是勾號去掉); 5、建作業(yè)屬性(通知)->用默認(rèn)的通知方法就好[當(dāng)作業(yè)失敗時,寫入Windows應(yīng)用程序系統(tǒng)日志] ->確定。 跟作業(yè)執(zhí)行相關(guān)的一些SQL Server知識: SQLSERVERAGENT服務(wù)必須正常運(yùn)行,啟動它的NT登錄用戶要跟啟動SQL Server數(shù)據(jù)庫的NT登錄用戶一致。 點(diǎn)作業(yè)右鍵可以查看作業(yè)執(zhí)行的歷史記錄情況,也可以立即啟動作業(yè)和停止作業(yè)。 最近在看作業(yè)歷史記錄時,發(fā)現(xiàn)有的作業(yè)記錄的歷史記錄多,有的作業(yè)記錄的記錄的歷史記錄少. 如何能使某些作業(yè)按各自的需求,保留一段時間.比如保留一個月的歷史記錄. 看了SQL Server的在線幫助文檔,里面介紹說: 在管理->SQL Server代理->右鍵選屬性->作業(yè)系統(tǒng)->限制作業(yè)歷史記錄日志的大小-> 作業(yè)歷史記錄日志的最大大小(行數(shù)) 默認(rèn)為1000 如果某臺機(jī)器的作業(yè)數(shù)量很多,一定要提高它,例如為100000 每個作業(yè)歷史記錄日志的最大行數(shù) 默認(rèn)為100 如果作業(yè)每天執(zhí)行兩次,需要保留一個月的日志,可以設(shè)為60 它們之間有一個相互制約關(guān)系, 我們可以根據(jù)自己的需要來改. 如果SQL Server服務(wù)器改過機(jī)器名, 管理是舊名稱時建立的job的時候可能會遇到 錯誤14274: 無法添加、更新或刪除從MSX服務(wù)器上發(fā)起的作業(yè)(或其步驟或調(diào)度) 看了Microsoft的文檔:http://support.microsoft.com/default.aspx?scid=kb;en-us;281642 說SQL Server 2000系統(tǒng)里msdb..sysjobs 里originating_server 字段里存的是原來的服務(wù)器的名稱. 24X7在用的系統(tǒng)肯定不能按上面Microsoft的文檔說的那樣把名字改回來又改過去。 于是想,msdb..sysjobs 能否update originating_server 字段成現(xiàn)在在用的新服務(wù)器名? use msdb select * from sysjobs 找到originating_server 字段還是舊服務(wù)器的job_id, 然后執(zhí)行update語句: update sysjobs set originati
|