作业配置规范文档[MS SQL]
2015-08-02 16:28 潇湘隐者 阅读(1347) 评论(1) 编辑 收藏 举报作业配置规范文档(MS SQL)
文档类型 | MS SQL数据库作业配置规范文档 |
创建日期 | 2015-07-30 |
版本变化 | V3.0 |
|
|
修改记录
修改人 | 修改日期 | 版本 | 修改描述 |
潇湘隐者 | 2015-08-01 | V1.0 | 创建制定文档 |
潇湘隐者 | 2015-08-13 | V2.0 | 修改部分内容,例如Schedule命名 |
潇湘隐者 | 2015-10-18 | V3.0 | 增加作业申请流程图 |
无规矩不成方圆,在数据库管理维护,我们发现有必要规范作业创建、配置。因为随意的创建作业,导致五花八门的命名和各种混乱。不利于作业的维护和管理。下面通过规范各个步骤合理配置一个作业。
作业申请流程
作业功能描述
在创建作业时,首先有必要多了解一些情况。可以从下面几个问题入手。
1:新建作业的功能、用途是什么?
2:新建作业的执行频率(Schedule)? 如果频率很频繁,为什么需要如此频繁?
3:新建作业属于那个系统?在那个数据库上执行?
4:新建作业如果运行失败的话,是否需要通知相关负责人?谁是作业负责人
5:新建作业如果执行失败,是否需要重新运行?尝试次数多少
让发起创建作业的申请人,填写下面文档资料
创建作业的各个事项 | 作业事项详细资料 |
服务器名称/地址 |
|
作业执行脚本 |
|
作业脚本运行的数据库 |
|
作业运行频率 |
|
作业运行时间段 |
|
作业的功能、用途 |
|
作业失败通知谁 |
|
注意事项 | 例如:新建作业如果执行失败,是否需要重新运行 |
作业配置规范
一:作业常规选项配置:
1:作业名称
作业命名命名规范如下所示:
方式1:作业功能比较明确的,可以使用下面命名方式
{DB_NAME}_{作业的功能}
例如:作业名:YourSQLDba_FullBackups_And_Maintenance
它是YourSQLDba数据库下面一个做完整备份以及维护的作业。
方式2:作业功能并不明确或描述不太方便的。可以用作业执行的存储过程来命名
{DB_NAME}_{存储过程名称}
MESDB_FinishRepeatOrderImprovment
2:作业的所有者
如果作业有明确的所有者,选择对应的所有者。如果没有。则选择sa账号.
尽量不要使用域账号作为作业的Owner,尽量全部使用sa
3:作业类别
一般应该根据具体需求添加作业类别,并为新建作业设置作业类别.
数据库维护、数据库监控、数据库归档、数据库跑数等
EXEC msdb.dbo.sp_add_category
@class=N'JOB',
@type=N'LOCAL',
@name=N'DATABASE_RUNNING_DATA' ;
GO
4:作业说明
一定要加上作业功能说明、描述,方便以后维护。否则时间久了,维护起来非常吃力。
二:作业步骤选项配置
1:作业步骤名称
作业步骤名称设置一般建议用如下规则,如果有多个步骤的话
{作业名称}_Step_One
{作业名称}_Step_Two
{作业名称}_Step_Three
2:作业步骤类型
选择对应作业步骤的类型,一般为Transact-SQL脚本(T-SQL)
高级选项有时候不用特意设置。但是某些特殊作业需要设置当作业步骤失败时的重试次数、重试间隔等。以及作业失败时是退出作业,还是继续下一个作业步骤等。
三:作业计划选项配置
1:作业计划名称
一般情况下,作业计划名称命名规则如下:
{作业名称}_Schedule
如果作业有多个计划,那么命名规则如下
{作业名称}_Schedule_Month
{作业名称}_Schedule_Day
{作业名称}_Schedule_Hour
{作业名称}_Schedule_Minute
2:其它频率、执行间隔比较明确、简单。 没有什么好说的。
四:作业警报选项配置
作业警报一般不设置,而是设置作业通知。
五:作业通知选项配置
在作业失败时,通过电子邮件给作业相关负责人发送电子邮件。
EXEC msdb.dbo.sp_add_operator @name=N'JobName_Operator',
@enabled=1,
@weekday_pager_start_time=90000,
@weekday_pager_end_time=180000,
@saturday_pager_start_time=90000,
@saturday_pager_end_time=180000,
@sunday_pager_start_time=90000,
@sunday_pager_end_time=180000,
@pager_days=0,
@email_address=N'xxx@esquel.com',
@category_name=N'[Uncategorized]'
GO