国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

講解SQL Server定時作業(yè)job的設(shè)置方法

瀏覽:55日期:2023-11-06 09:36:49

如果在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ù)必須正常運行,啟動它的NT登錄用戶要跟啟動SQL Server數(shù)據(jù)庫的NT登錄用戶一致。

點作業(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 如果某臺機器的作業(yè)數(shù)量很多,一定要提高它,例如為100000

每個作業(yè)歷史記錄日志的最大行數(shù) 默認(rèn)為100 如果作業(yè)每天執(zhí)行兩次,需要保留一個月的日志,可以設(shè)為60。

它們之間有一個相互制約關(guān)系, 我們可以根據(jù)自己的需要來改。

如果SQL Server服務(wù)器改過機器名, 管理是舊名稱時建立的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 originating_server='new_server_name'

where job_id='B23BBEBE-A3C1-4874-A4AB-0E2B7CD01E14'

(所影響的行數(shù)為 1 行)

這樣就可以添加、更新或刪除那些曾經(jīng)出error 14274 的作業(yè)了。

如果想把作業(yè)由一臺機器遷移到另一臺機器,可以先保留好創(chuàng)建作業(yè)的腳本, 然后在另一臺機器上運行。

導(dǎo)出所有作業(yè)的創(chuàng)建腳本操作步驟:

管理->SQL Server代理->作業(yè)(鼠標(biāo)右鍵)->所有任務(wù)->生成SQL腳本->保存到操作系統(tǒng)下的某個sql文件

導(dǎo)出某一個作業(yè)的創(chuàng)建腳本操作步驟:

管理->SQL Server代理->作業(yè)->選中待轉(zhuǎn)移的作業(yè)(鼠標(biāo)右鍵)->所有任務(wù)->生成SQL腳本->保存到OS下的某個sql文件

然后在目的服務(wù)器上運行剛才保存下來的創(chuàng)建作業(yè)的sql腳本。

如果建作業(yè)的用戶或者提醒的用戶不存在, 則會出錯;

我們需要在目的服務(wù)器上建立相關(guān)的WINDOWS用戶或者SQL Server數(shù)據(jù)庫登錄, 也可以修改創(chuàng)建作業(yè)的腳本, 把目的服務(wù)器上不存在的用戶替換成已經(jīng)有的用戶。

如果生成日志的物理文件目錄不存在,也應(yīng)該做相關(guān)的修改,例如d:區(qū)轉(zhuǎn)f:區(qū)等。另外,字符串的 @command 命令里有分隔符號 go 也會出錯, 可以把它去掉。

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 榆社县| 勐海县| 中超| 尉氏县| 漳平市| 绥化市| 福泉市| 雷波县| 吉安市| 荣成市| 林州市| 天长市| 应城市| 靖安县| 城固县| 佛山市| 丰原市| 剑河县| 渑池县| 昌图县| 上杭县| 南部县| 永修县| 台山市| 宜兴市| 伊春市| 淮南市| 福安市| 兴安县| 利辛县| 右玉县| 高要市| 自贡市| 平泉县| 姚安县| 廉江市| 西安市| 邳州市| 翁牛特旗| 疏附县| 怀远县|