架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6450|回复: 1

[资料] SQL Server作业

[复制链接]
发表于 2018-9-5 16:58:19 | 显示全部楼层 |阅读模式
本帖最后由 sgFengSu 于 2018-9-6 08:51 编辑

无论是数据库也好,其他系统也好,都会有一些不需要人为参与就能一直执行下去的东西。
而这种的在sql server数据库里面可以通过作业来实现定义。
对于SQL SERVER的作业来说,它是一系列由SQL SERVER代理按顺序执行的指定操作。

与作业相关的如下图主要的一个是作业、另一个是作业活动监视器(需要开启SQL Server 代理服务)

图像 1.png 图像 2.png


基础准备做完了接下来就是创建作业、执行作业、修改作业、删除作业

sp_add_job
创建作业
sp_add_jobstep
创建一个或多个作业步骤
sp_add_schedule
创建计划
sp_attach_schedule
将计划附加到作业
sp_add_jobserver
设置作业的服务器
当然,个人觉得友好视图比执行这些语句快多了(通过作业右键-创建作业来实现)

图像 3.png

在步骤中,个人比较喜欢的是将要执行的语句写成存储过程,后面只维护存储过程更方便一些

新建步骤的时候可能会遇到如下图这种情况,这是因为少个最后面括号里面那个组件,可参考链接
https://www.cnblogs.com/lhp-net/archive/2013/01/22/2871462.html

图像 4.png

在计划中,后面尽量加一个若失败发送给管理员邮件的计划,这样可以避免作业执行失败你还不知道的情况,另外有些杀毒软件对于这个作业也会阻止,若有杀毒引擎尽量加下白名单。

小技巧,有些存储过程可能执行时间超过分钟的,这种在页面上去执行,页面会有响应超时这个机制,然后就报一些错误,结果存储过程还执行不下去。
如果遇到这种情况,存储过程实在没法优化了,可以把存储过程放到作业里面去执行作业exec msdb.dbo.sp_start_job @job_name='job_name',这样就可以避免尴尬了,当然执行结束不要忘了加提醒。
exec msdb.dbo.sp_start_job @job_name='job_name'







上一篇:Java中instanceof关键字的理解
下一篇:Spring和MyBatis整合自动生成代码里面text类型坑
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-9-6 09:27:51 | 显示全部楼层
SQL Server数据库每日自动备份作业操作步骤
https://www.itsvse.com/thread-4895-1-1.html
(出处: 架构师_程序员)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-28 23:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表