脚本生成过sqlserver作业任务

本文展示了如何使用SQL脚本创建SQL Server作业任务,包括定义作业名称、设置执行时间、作业步骤以及错误处理策略。作业包含了多个TSQL步骤,每个步骤可以执行特定的SQL命令,并具有重试机制。最后,作业被调度为每天执行,具体执行时间可自定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


declare @jobname varchar(100)='定时任务_测试库';  --作业名称
declare @sql varchar(8000);             --要执行的命令
declare @dbname sysname=db_name();             --默认为当前的数据库名
declare @fsinterval int=1;              --相对于每日的重复次数
declare @time int=000000;                --开始执行时间,对于重复执行的作业,将从0点到23:59分

--创建作业
exec msdb..sp_add_job @job_name=@jobname

--创建作业步骤

--作业1
set @sql=' ';   --具体执行sql,自己写

exec msdb..sp_add_jobstep
    @job_name=@jobname,       --作业名称
    @step_name = '作业1',  --步骤名称
    @subsystem = 'TSQL',      --
    @database_name=@dbname, --定时任务明
    @command = @sql,     --执行任务
    @retry_attempts = 5, --重试次数
    @retry_interval = 5,  --重试间隔
    @on_success_action=3,   --转到下一步
    @on_fail_action=3       --转到下一步

--作业2
set @sql=' ';   --具体执行sql,自己写

exec msdb..sp_add_jobstep
    @job_name=@jobname,       --作业名称
    @step_name = '作业2',  --步骤名称
    @subsystem = 'TSQL',      --
    @database_name=@dbname, --定时任务明
    @command = @sql,     --执行任务
    @retry_attempts = 5, --重试次数
    @retry_interval = 5,  --重试间隔
    @on_success_action=3,   --转到下一步
    @on_fail_action=3       --转到下一步


--作业3
set @sql=' ';   --具体执行sql,自己写

exec msdb..sp_add_jobstep
    @job_name=@jobname,       --作业名称
    @step_name = '作业3',  --步骤名称
    @subsystem = 'TSQL',      --
    @database_name=@dbname, --定时任务明
    @command = @sql,     --执行任务
    @retry_attempts = 5, --重试次数
    @retry_interval = 5,  --重试间隔
    @on_success_action=1,   --退出
    @on_fail_action=2      --退出

--创建调度
declare @ftype int=4;   --每天=4,每周=8,每月=16
declare @fstype int=0;
declare @ffactor int=0;


EXEC msdb..sp_add_jobschedule
    @job_name=@jobname,
    @name = '时间安排',
    @freq_type=@ftype ,                  --每天,8 每周,16 每月
    @freq_interval=1,                    --重复执行次数
    @freq_subday_type=@fstype,           --是否重复执行
    @freq_subday_interval=@fsinterval,   --重复周期
    @freq_recurrence_factor=@ffactor,
    @active_start_time=@time             --执行时间


-- 添加目标服务器

EXEC msdb.dbo.sp_add_jobserver

@job_name = @jobname ,

@server_name = N'(local)'

go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值