SQL-创建作业定时自动执行存储过程图文教程
1.首先准备好你的存储过程
/* 创建存储过程 */ CREATE PROC pr_SelectTop10Persons AS BEGIN SELECT TOP 10 Id , FirstName , LastName , EmailAddress , CreatedOn , IpAddress FROM dbo.Person; END; GO -- 执行存储过程 -- EXEC dbo.pr_SelectTop10Persons;
2.操作步骤:
================================================================================================================== 【1】打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】; 【2】.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤; 【3】展开【SQL Server 代理】列表,右击【作业】-->【新建作业】; 【3.1】 在【常规】选项卡中: 输入作业名称,如"My Job"; 【3.2】 在【步骤】选项卡中: 【3.2.1】 点击【新建】,输入【步骤名称】,如“步骤1”,类型默认T-SQL脚本,也可以选择SSIS包等; 【3.2.2】 在【数据库】一栏选择要作业处理的数据库,在【命令】的右边空白编辑栏输入要执行的SQL代码, EXEC pr_SelectTop10Persons -- 如:执行一个pr_SelectTop10Persons的存储过程 当然,你也可以点击命令下面的【打开】,打开.sql脚本; =================================================================================================================== 【3.2.3】输入运行脚本后,建议点击【分析】,确保脚本语法正确,然后点击下面的【确定】按钮; 【3.3】 在【计划】选项卡中: 【3.3.1】点击【新建】,输入【计划名称】,如“计划1”,计划类型默认是”重复执行”,也可以选择执行一次等; 【3.3.2】在【频率】-->【执行】处选择“每天”、“每周”或“每月”,以“每天”为例,间隔时间输入间隔几天执行一次, 下面还可以选择每天一次性执行或间隔一定的时间重复执行 =================================================================================================================== 【3.3.3】在【持续时间】中选择计划开始执行的【起始日期】和【截止日期】,然后点击【确定】按钮; 注意要将服务设置为自动启动,否则在重启服务器后作业就不运行了。 启动代理服务的方法: 开始-->运行-->输入services.msc-->找到【SQL Server 代理】的服务并双击-- >【启动类型】选择“自动”-->【确定】 至此,定时作业已创建完毕! ===================================================================================================================
3.SQL-查询作业的执行情况
/* 人员:LDH 功能:SQL-查询作业的执行情况 日期:2018-8-15 */ USE master GO --▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ -- 查询作业的执行情况 --▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ SELECT [JobName] = JOB.name , [Step] = HIST.step_id , [StepName] = HIST.step_name , [Message] = HIST.message , [Status] = CASE WHEN HIST.run_status = 0 THEN 'Failed' WHEN HIST.run_status = 1 THEN 'Succeeded' WHEN HIST.run_status = 2 THEN 'Retry' WHEN HIST.run_status = 3 THEN 'Canceled' END , [RunDate] = HIST.run_date , [RunTime] = HIST.run_time , [Duration] = HIST.run_duration FROM msdb.dbo.sysjobs JOB INNER JOIN msdb.dbo.sysjobhistory HIST ON HIST.job_id = JOB.job_id --WHERE JOB.name = 'jobname' ORDER BY HIST.run_date DESC , HIST.run_time;
本文作者:Love In Winter
本文链接:https://www.cnblogs.com/LifeDecidesHappiness/p/9479989.html
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以扫一扫,任意打赏,您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/LifeDecidesHappiness/p/9479989.html
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以扫一扫,任意打赏,您的鼓励是博主的最大动力!
![扫一扫,支付宝打赏](https://files.cnblogs.com/files/LifeDecidesHappiness/%E6%94%AF%E4%BB%98%E5%AE%9D.bmp)
![扫一扫,微信打赏](https://files.cnblogs.com/files/LifeDecidesHappiness/%E5%BE%AE%E4%BF%A1%E6%94%B6%E6%AC%BE%E7%A0%81.bmp)