1、 SQL Server 代理中包含很多的类别,有作业、警报、操作员、代理等,作业属于其中的一个类别

2、 用自动化数据备份来介绍作业的具体运用规则

①用命令符启用sqlserveragent

②添加作业的类别,明确进行作业的任务

1 EXEC msdb.dbo.sp_add_category
2
3 @class = 'JOB'--添加对象的类别,如:作业、报警
4
5 ,@name = 'ct_药房管理系统_Maintain'; ---设置类别的名字

③添加作业(包括名字、任务,所属的类别)

1 EXEC msdb.dbo.sp_add_job
2
3 @job_name = 'jb_药房管理系统_FullBackup_Weekly' --为作业命名
4
5 ,@description = 'Full Backup job for 药房管理系统every week(end).' ---作业的任务描述,每周自动备份更新
6
7 ,@category_name = 'ct_药房管理系统_Maintain'; ---作业所属的类别

④为作业添加具体的任务描述,就是作业计划(jobschedule)

 1 DECLARE
 2
 3 @StartDate INT = CONVERT(CHAR(8),GETDATE(),112)
 4
 5 ,@EndDate INT = CONVERT(CHAR(8),DATEADD(year,1,GETDATE()),112)
 6
 7 ,@StartTime INT = 220000;
 8
 9
10
11 EXEC msdb.dbo.sp_add_jobschedule
12
13 @job_name = 'jb_药房管理系统_FullBackup_Weekly' --作业名字
14
15 ,@name = 'jc_药房管理系统_FullBackup_Sunday2200' ---作业计划的名字,为数据库自动每周星期日22:00备份
16
17 ,@freq_type = 8 --对应每周的频率类型,具体见表格
18
19 ,@freq_interval = 1 --对应星期天的频率类型,具体见表格
20
21 ,@freq_recurrence_factor = 1--作业计划间隔一周
22
23 ,@active_start_date = @StartDate
24
25 ,@active_end_date = @EndDate
26
27 ,@active_start_time = @StartTime
28
29 ,@active_end_time = @StartTime;

⑤为作业制定服务器,作业将会在sqlserveragent启用后生效

1 EXEC msdb.dbo.sp_add_jobserver

2 @job_name = 'jb_药房管理系统_FullBackup_Weekly'

3 ,@server_name =@@SERVERNAME; --默认为local服务器 ,也可以指定现有目标的服务器名称

⑥测试作业执行(将电脑的时间往下调整至周日)

1 RESTORE HEADERONLY

2 FROM jb_药房管理系统_FullBackup_Weekly

3、 邮件通知,数据库是否备份

数据的自动备份系统应该存在提示,因此就可以利用邮件来实现这一个功能,下面就介绍利用邮件通识相关人员系统是否完整备份,备份是否成功。SQL就自带有邮件通知的功能

①启用邮件

1     EXEC sp_configure 'SHOW ADVANCED OPTIONS',1;
2     RECONFIGURE;
3     EXEC sp_configure 'DATABASE MAIL XPs';
4     EXEC sp_configure 'DATABASE MAIL XPs',1;
5     RECONFIGURE;

②添加配置文件

1 EXEC msdb.dbo.sysmail_add_profile_sp
2         @profile_name = 'mp_药房管理系统_Dba'
3         ,@description = 'Database mail profile for 药房管理系统database administrator.';    

③添加邮件的账号

1 EXEC msdb.dbo.sysmail_add_account_sp
2         @account_name = 'ma_药房管理系统_Dba'
3         ,@description = 'Database mail account for 药房管理系统database administrator.'
4         ,@email_address = 'dba@药房管理系统.com'
5         ,@display_name = '药房管理系统DBA'
6         ,@mailserver_name = '127.0.0.1'    ---SMTP发送地址
7         ,@mailserver_type='SMTP'
8         ,@port = 25
9         ,@use_default_credentials = 1;        ---默认使用Windows验证方式

④将邮件的账号和配置文件相互关联

 1 EXEC msdb.dbo.sysmail_add_profileaccount_sp
 2
 3 @profile_name = 'mp_药房管理系统_Dba'
 4
 5 ,@account_name = 'ma_药房管理系统_Dba'
 6
 7 ,@sequence_number = 1;
 8
 9
10
11 EXEC msdb.dbo.sysmail_configure_sp
12
13     'AccountRetryAttempts', '3' ;
14
15
16
17 EXEC msdb.dbo.sysmail_configure_sp
18
19     'AccountRetryDelay', '5' ;

⑤发送邮件

1 EXEC msdb.dbo.sp_send_dbmail
2         @profile_name = 'mp_药房管理系统_Dba'
3         ,@recipients = 'dba@药房管理系统.com'
4         ,@subject = 'TestMail_2'
5         ,@body = 'Another test mail for 药房管理系统database administrator.'; 

4、 系统尽管已经通知是否备份,但是有时候系统备份也会失败,因此最好能将备分具体的情况一同发送到邮箱。系统自动备份成功与否就要有明确的判断,用四个on来判断成功还是失败的分支,看到底执行哪一个步骤。

①添加计划步骤

 1 EXEC msdb.dbo.sp_add_jobstep
 2     @job_name = 'jb_药房管理系统_FullBackup_Weekly'
 3     ,@step_name = 'js_药房管理系统_FullBackup'
 4     ,@step_id = 1
 5     ,@database_name = 'master'
 6     ,@subsystem = 'TSQL'
 7     ,@command =
 8         'EXEC 药房管理系统.dbo.usp_BackupFull'
 9     ,@retry_attempts = 3
10     ,@retry_interval = 0
11     ,@on_success_action = 4
12     ,@on_success_step_id = 2
13     ,@on_fail_action = 4
14     ,@on_fail_step_id = 3;
15 EXEC msdb.dbo.sp_add_jobstep
16     @job_name = 'jb_药房管理系统_FullBackup_Weekly'
17     ,@step_name = 'js_药房管理系统_MailAfterFullBkOk'
18     ,@step_id = 2
19     ,@database_name = 'master'
20     ,@subsystem = 'TSQL'
21     ,@command =
22         'EXEC 药房管理系统..usp_execMailAfterBkOk;'
23     ,@retry_attempts = 3
24     ,@retry_interval = 0; 

②发送邮件,将结果以附件的形式发送至邮箱

 1 EXEC msdb.dbo.sp_add_jobstep
 2     @job_name = 'jb_药房管理系统_FullBackup_Weekly'
 3     ,@step_name = 'js_药房管理系统_MailAfterFullBkFail'
 4     ,@step_id = 3
 5     ,@database_name = 'master'
 6     ,@subsystem = 'TSQL'
 7     ,@command =
 8         'EXEC 药房管理系统..usp_MailAfterBkFail;'
 9     ,@retry_attempts = 3
10     ,@retry_interval = 0;
11
12
13     EXEC msdb.dbo.sp_send_dbmail
14         @profile_name = 'mp_药房管理系统_Dba'
15         ,@recipients = 'dba@药房管理系统.com'
16         ,@subject = 'TestMail_2'
17         ,@body = 'This mail contains the query result as attach.'    ---以附件的形式发送
18         ,@query=
19             'SELECT TOP 100
20                     *
21                 FROM
22                     master.dbo.spt_values'
23         ,@attach_query_result_as_file = 1;    

转载于:https://www.cnblogs.com/caiduncheng/p/8151266.html

学习笔记——作业的知识点与注意事项相关推荐

  1. 《密码编码学与网络安全》William Stalling著---学习笔记(二)【知识点速过】【数字签名+密钥管理分发+用户认证】

    提示:博文有点长,请保持耐心哦~ 前一篇文章: <密码编码学与网络安全>William Stalling著-学习笔记(一)[知识点速过][传统密码+经典对称加密算法+经典公钥密码算法+密码 ...

  2. 《密码编码学与网络安全》William Stalling著---学习笔记(三)【知识点速过】【网络安全与Internet安全概览】

    提示:博文有点长,请保持耐心哦~ 前两篇文章: <密码编码学与网络安全>William Stalling著-学习笔记(一)[知识点速过][传统密码+经典对称加密算法+经典公钥密码算法+密码 ...

  3. 《微信小程序商城界面设计实战》--学习笔记作业

    一.学习笔记 1.注释:wxml文档注释: css文档注释:/** **/ js文档注释:单行注释以"//"开头:多行注释以"/"开头,以"/&quo ...

  4. Android 开发学习笔记:七大知识点板块汇总

    前言 我从事 Android 开发行业也有些年头,工作期间也接触过很多 Android 开发者, 因此也非常清楚 程序员最大的限制并非年龄而是实力: 但大多数初中级Android工程师,想要提升技能, ...

  5. CS61A学习笔记(作业篇)

    为了制止我半途而废,以及散落各处找不到的笔记,决定在这里记录学习笔记和作业遇到的困难等等. Lab 03 Q4: Repeated, repeated In Homework 2 you encoun ...

  6. React学习笔记7:React使用注意事项

    1. setState setState更新状态的2种写法 方式一:setState(stateChange, [callback])------对象式的setState stateChange为状态 ...

  7. JS学习笔记-1--基本知识和注意事项

    1.JS开始的目的主要是验证表单的输入验证 2.是一种具有面向对象能力的.解释型语言.是基于事件驱动的相对较安全的客户端脚本语言 3.JS 特点:松散型:变量不具备一个明确的类型:   对象属性:把属 ...

  8. JS学习笔记-Jquery知识点1

    jQuery 基础课程-jQuery选择器 1.1  为什么要学jQuery? 1.1.1     学习JS的遇到的痛点 痛点的总结: 1.2  jQuery是什么? 1.2.1     jQuery ...

  9. Android(java)学习笔记96:layout_weight使用注意事项

    1. android:layout_weight使用说明: layout_weight是权重的意思,也就是各个控件所占的比重,用在LinearLayout布局中.当我们使用layout_weight的 ...

最新文章

  1. 计算机视觉(CV)的算法有哪些,具体都有哪些特点?
  2. JUnit注解与hamcrest
  3. Oracle传输表空间
  4. 重磅 | 一场你从未见过的数据中心盛会
  5. WGAN新方案:通过梯度归一化来实现L约束
  6. 雷蛇鼠标安全漏洞 装上就能获得管理员权限
  7. python分类算法_python数据挖掘中的分类算法有哪些?
  8. 前端学习(2052)vue之电商管理系统电商系统之配置http服务
  9. 798B. Mike and strings
  10. python语言sort_Python里的sort语句
  11. utc时间转换为时分秒_C语言操作时间函数,实现定时执行某个任务小程序
  12. 并查集——团伙(洛谷 P1892)
  13. 市场观察人士:有充足代工产能支持 联发科3月份营收有望创下新高
  14. 关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: userName)
  15. ROST情感分析的语法规则_solc编译器分析
  16. Mac xelatex
  17. OpenGL第二讲——绘制简单的几何图形
  18. Ubuntu 14.04 LTS 启动blast2go 报错
  19. 注册码系统V2的自动发卡功能使用流程
  20. 一键加速去不掉加锁的_vivo手机一键加速的时候,怎样可以不把当前的应用清除?...

热门文章

  1. antd picker 使用 如何_如何基于jsoneditor二次封装一个可实时预览的json编辑器组件?(react版)...
  2. selenium点击元素位置_Selenium常见元素定位方法和操作
  3. 计算机科学实验班高考线,北京工业大学计算机科学与技术(实验班)专业2015年在北京理科高考录取最低分数线...
  4. matplotlib 散点图_python之matplotlib 折线图和散点图
  5. linux 进程自重启,linux 进程监控和自动重启的简单实现
  6. python的网络编程学什么_【Python学习】网络编程
  7. java 反射静态内部类_android-反射的使用(反射静态内部类、非静态内部类、匿名内部类等)...
  8. html文件转成base64字符串,js 转base64字符串为文件
  9. python sys.path
  10. 编程语言对比 with