企業管理器
--管理
--SQL Server代理
--右鍵做業
--新建做業
--"常規"項中輸入做業名稱
--"步驟"項
--新建
--"步驟名"中輸入步驟名
--"類型"中選擇"Transact-SQL 腳本(TSQL)"
--"數據庫"選擇執行命令的數據庫
--"命令"中輸入要執行的語句:
update base set flag=0 where datediff(dd,date,getdate())=0
--肯定
--"調度"項
--新建調度
--"名稱"中輸入調度名稱
--"調度類型"中選擇你的做業執行安排
--若是選擇"反覆出現"
--點"更改"來設置你的時間安排爲一天一次
而後將SQL Agent服務啓動,並設置爲自動啓動,不然你的做業不會被執行
設置方法:
個人電腦--控制面板--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啓動類型--選擇"自動啓動"--肯定.數據庫
在數據庫的應用系統中,充分的利用數據庫的後臺服務端的功能能夠能夠簡化客戶端前臺的工做,更能夠下降網絡的負荷,同時使整個系統設計更合理,便於維護移植和升級,後臺計劃任務做業在不少數據庫應用中常常會用到,固然是配合存儲過程使用。
在SQL Server2000中,能夠手動一步一步的在企業管理器中創建後臺計劃任務做業,但這樣既麻煩也不便於發佈,所以本文給出使用T-SQL腳本建立做業的方法。
須要下面三個SQL Server2000 msdb系統庫中的存儲過程來完成做業的創建,在此以前請先開啓數據庫實例的SQLServerAgent服務,SQL Server安裝後默認是沒有啓動該服務的。
順便說一句,SQL Server在2000版本中才有了明顯的「實例」的概念,在7.0版中沒有明確的實例,所以在SQL Server2000默認安裝時建立了一個默認實例,這是爲了和SQl Server 7.0兼容,若是你是默認方式建立的實例,則實例名爲空。啥子?你不曉得啥子是「實例」?我的去找點資料看看,oracel、sybase都有實例和表空 間,因此我叫SQL Server2000以前的SQL Server爲桌面數據庫。
進入正題,步驟是「做業」-〉「做業調度」-〉「做業步驟」,具體以下:
一、使用sp_add_job 添加由 SQLServerAgent 服務執行的新做業。
二、使用sp_add_jobschedule建立做業調度。
三、使用sp_add_jobstep將一個步驟(操做)添加到做業中
下面以在汽車客運站票務系統中的腳本爲例給出實際例子,在看例子以前,請先看一下上面三個系統存儲過程的幫助。在例子中使用了一個自定義的存儲過程「tksp_bakdata」,它的功能是處理當日以前售票數據(只需知道是一個自定義存儲過程就好了)。
例子1:每日0點30分處理售票數據
www.knowsky.com
use msdb
EXEC sp_add_job @job_name = 'tk_bakdata',
@enabled = 1,
@description = '每日00:30處理售票數據',
@start_step_id = 1,
@owner_login_name = 'tkuser'
exec sp_add_jobserver @job_name = 'tk_bakdata'
go
EXEC sp_add_jobschedule @job_name = 'tk_bakdata',
@name = 'Bakdata003000',
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 003000
go
EXEC sp_add_jobstep @job_name = 'tk_bakdata',
@step_name = 'bakdata',
@subsystem = 'TSQL',
@command = 'EXEC tksp_bakdata ',
@database_name='ticket'
go
例子2:每日SQLServer啓動時處理售票數據,這樣在天天須要關機的服務器中也能保證處理售票數據。
use msdb
EXEC sp_add_job @job_name = 'tk_bakdata2',
@enabled = 1,
@description = '每日SQLServer啓動時處理售票數據',
@start_step_id = 1,
@owner_login_name = 'tkuser'
exec sp_add_jobserver @job_name = 'tk_bakdata2'
go
EXEC sp_add_jobschedule @job_name = 'tk_bakdata2',
@name = 'BakdataStart',
@freq_type = 64
go
EXEC sp_add_jobstep @job_name = 'tk_bakdata2',
@step_name = 'BakdataStart',
@subsystem = 'TSQL',
@command = 'EXEC tksp_bakdata ',
@database_name='ticket'
go服務器