程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 使用T_SQL腳本創建SQLServer2000後台計劃作業任務

使用T_SQL腳本創建SQLServer2000後台計劃作業任務

編輯:關於SqlServer
 在數據庫的應用系統中,充分的利用數據庫的後台服務端的功能可以可以簡化客戶端前台的工作,更可以降低網絡的負荷,同時使整個系統設計更合理,便於維護移植和升級,後台計劃任務作業在很多數據庫應用中經常會用到,當然是配合存儲過程使用。
  在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為桌面數據庫。
  進入正題,步驟是“作業”-〉“作業調度”-〉“作業步驟”,具體如下:

1、使用sp_add_job 添加由 SQLServerAgent 服務執行的新作業。
2、使用sp_add_jobschedule創建作業調度。
3、使用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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved