首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2008/2005 創建定時作業(SQL Server Agent Job)圖文教程

     編輯:關於SqlServer

前置條件

  • SQL Server Agent 服務已啟動並設置為自動啟動(services.msc → SQL Server Agent → 啟動類型:自動)。
  • 擁有 sysadmin 固定服務器角色或 SQLAgentUserRole 數據庫角色。

步驟 1:新建作業

  1. SSMS → 對象資源管理器 → 展開 SQL Server Agent → 右鍵 作業 → 新建作業。
  2. 常規 頁籤:輸入作業名稱(如 Daily_ETL_Refresh),擁有者默認當前登錄賬號,類別可選「數據庫維護」等。

步驟 2:定義作業步驟

  1. 步驟 頁籤 → 新建。
  2. 步驟名稱:Step_Execute_SP。
  3. 類型:Transact-SQL 腳本 (T-SQL)(亦可選 SSIS 包、CmdExec、PowerShell 等)。
  4. 數據庫:選擇目標數據庫(上下文)。
  5. 命令:輸入 T-SQL 代碼,如:
    EXEC dbo.usp_Refresh_DataWarehouse;
    或點擊「打開」載入 .sql 文件。
  6. 點擊 分析 驗證語法 → 確定。
  7. (可選)高級 頁籤配置:成功/失敗動作(轉下一步/退出)、重試次數/間隔、輸出文件記錄。

步驟 3:配置排程

  1. 排程 頁籤 → 新建。
  2. 排程名稱:Schedule_Daily_02AM。
  3. 排程類型:定期執行(亦可選「CPU 空閒時」、「一次性」等)。
  4. 頻率:選「每天」→ 間隔 1 天 → 每天執行一次 → 時間 02:00:00。
    亦可選「間隔執行」如每 30 分鐘重複一次,持續時段 02:00-06:00。
  5. 持續時間:設置起始日期(如今天),截止日期選「無結束日期」。
  6. 確定保存排程,再確定保存作業。

步驟 4:啟用 Agent 服務自動啟動(關鍵)

Win+R → services.msc → 找到 SQL Server Agent (MSSQLSERVER) → 右鍵屬性 → 啟動類型:自動 → 適用。
否則服務器重啟後 Agent 不會自動運行,作業不會觸發。

常見問題排查

現象原因對策
作業不執行Agent 服務未運行啟動服務、設置自動
步驟失敗無記錄未配置輸出文件/表步驟→高級→輸出文件寫入路徑
權限錯誤作業擁有者無目標庫權限指定擁有者為高權限賬號/授予代理賬號權限
排程不觸發排程未勾選「啟用」排程屬性→啟用核取方塊

腳本化部署(生產環境推薦)

USE msdb;
GO
EXEC dbo.sp_add_job
    @job_name = N'Daily_ETL_Refresh',
    @enabled = 1,
    @description = N'每日數據倉庫刷新';
GO
EXEC dbo.sp_add_jobstep
    @job_name = N'Daily_ETL_Refresh',
    @step_name = N'Execute_SP',
    @subsystem = N'TSQL',
    @command = N'EXEC dbo.usp_Refresh_DataWarehouse;',
    @database_name = N'DW',
    @on_success_action = 1, -- 成功退出
    @on_fail_action = 2;    -- 失敗退出並報警
GO
EXEC dbo.sp_add_jobschedule
    @job_name = N'Daily_ETL_Refresh',
    @name = N'Daily_02AM',
    @freq_type = 4,        -- 每天
    @freq_interval = 1,
    @active_start_time = 20000; -- 02:00:00
GO
EXEC dbo.sp_add_jobserver @job_name = N'Daily_ETL_Refresh';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved