如何设置SSIS作业每30小时运行?调度窗口可配置哪些属性?
嘿,这个问题我刚好有实操经验,来给你详细拆解一下~
一、配置SSIS作业每30小时执行一次的方法
SQL Server Agent的默认调度选项里没有直接的「30小时周期」,但我们可以通过两种方式轻松实现:
方法1:图形界面配置(最直观)
- 打开SQL Server Management Studio(SSMS),找到你要设置的SSIS作业,右键选择「属性」
- 切换到「调度」选项卡,点击「新建」创建一个新调度
- 在「常规」页签,给调度起个好记的名字,设置好作业的起始日期和首次执行时间
- 切换到「频率」页签:
- 执行频率选择「每天」
- 取消勾选「每天执行一次」,转而勾选「每天重复执行」
- 在「重复执行间隔」里选择「小时」,输入
30;「持续时间」根据需求选「无结束日期」或者指定结束日期 - 确认后保存,这样作业就会从起始时间开始,每隔30小时自动执行一次
方法2:T-SQL脚本配置(更灵活)
如果习惯用脚本或者需要批量配置,可通过sp_add_schedule存储过程来创建调度,示例代码如下:
DECLARE @schedule_id INT; EXEC msdb.dbo.sp_add_schedule @schedule_name = N'每30小时执行一次的SSIS调度', @freq_type = 4, -- 每天执行 @freq_interval = 1, @freq_subday_type = 8, -- 按小时重复 @freq_subday_interval = 30, -- 间隔30小时 @active_start_date = 20240520, -- 起始日期(格式YYYYMMDD) @active_start_time = 000000; -- 首次执行时间(格式HHMMSS) -- 将调度关联到你的SSIS作业 EXEC msdb.dbo.sp_attach_schedule @job_name = N'你的SSIS作业名称', @schedule_name = N'每30小时执行一次的SSIS调度';
二、SSIS作业调度窗口的可配置属性
调度窗口里的属性可以分成三大类,覆盖了作业执行的全周期控制:
1. 常规属性
- 调度名称:自定义一个清晰的名称,方便后续识别
- 启用状态:勾选/取消勾选来开启或禁用这个调度
- 时间范围:设置作业的起始日期、首次执行时间,以及可选的结束日期
- 描述:可以添加备注信息,记录调度的用途或特殊说明
2. 频率属性
这是调度的核心配置,控制作业什么时候执行:
- 执行频率类型:支持「一次」「每天」「每周」「每月」「SQL Server启动时」「CPU空闲时」等多种模式
- 细分配置:
- 每周模式:可选择具体星期几执行(比如仅周一到周五)
- 每月模式:支持固定日期(比如每月10号)或相对日期(比如每月最后一个工作日)
- 重复执行:当需要在一天内多次执行时,可设置重复间隔(小时/分钟)和持续时间段(比如从早8点到晚6点)
3. 高级属性
这些是辅助控制选项,让作业调度更健壮:
- 重试设置:如果作业执行失败,可配置是否自动重试,以及重试的间隔时间和最大重试次数
- 超时设置:指定作业最长允许运行的时间,超过后自动终止,避免占用资源
- 输出文件:可将作业执行的日志输出到指定文件,方便后续排查问题
- 通知设置:支持邮件通知(需提前配置数据库邮件),可设置作业成功/失败/完成时发送通知
- 事件日志:选择是否将作业执行的事件写入Windows事件日志,便于系统层面的监控
内容的提问来源于stack exchange,提问作者Ajinkya Pujari
相关产品推荐
相关产品推荐

