SQL Server 2008 R2中配置作业失败后邮件发送通知
SQL Server日常维护中难免会遇到作业失败的情况。失败后自然需要知道它失败了,除了例行检查可以发现出错以外,有一个较实时的监控还是很有必要的。比较专业的监控系统比如SCOM虽然可以监控作业执行情况在出错时进行报警,但对于DBA来说可能可定制性不高,最主要的是负责监控的人员在看到报警后一般都需要立刻联系DBA来解决,对于一些重要性不高的作业失败了,大半夜把你叫起来,感觉肯定是不爽的。SQL Server 本身支持发送数据库邮件,结合发送邮件的功能,在作业失败后将出错情况通过邮件通知DBA,这样对于了解作业执行是否异常帮助是很大的。
配置步骤如下
1.配置数据库邮件
在管理节点下,找到“数据库邮件”,右击,选择“配置数据库邮件”
配置向导的“选择配置任务”步骤,可以选择第一项,这样可以按向导步骤配置各项。
点击“下一步"以后,如果之前没有启用数据库邮件功能,会弹出对话框询问是否启用。要继续下去,自然得选择”是“了。
启用数据库邮件功能实际上是启用了Database Mail XPs服务器设置
可以提前通过SQL语句来完成,如下:
- exec sp_configure 'show advanced options',1
- GO
- RECONFIGURE
- GO
- exec sp_configure 'Database Mail XPs',1
- GO
- RECONFIGURE
- GO
新建配置文件步骤,需要指定配置文件名,根据需要设置即可。说明不是必须的。
同时这一步必须添加一个SMTP账号,用来登录到邮件服务器发送邮件。点击”添加“按钮。
在新建数据库邮件账号对话框里,需要指定账号名、电子邮件地址、服务器名称,还要选择身份验证的方式。一般我们连接的邮件服务器都是需要通过用户名和密码的方式进行验证,所以要选择”基本身份验证“,并填写正确的用户名、密码以及确认密码。
这样就完成STMP账号的添加了,点击”下一步“继续
在”管理配置文件安全性“步骤可以保持默认的设置,也可以根据实际安全性要求进行设置。
在”配置系统参数“步骤,按需要酌情设置。账户重试次数有必要设置一下,这样在遇到邮件服务器短时间内无法连接的时候可以通过重试来尽量避免通知邮件收不到的情况发生。之后下一步完成向导就可以了。
配置完数据库邮件以后,最好测试一下数据库邮件工作是否正常。右击”数据库邮件“项选择”发送测试电子邮件“。
收件人填写为接收邮件的电子邮件地址。点击发送测试电子邮件按钮后,数据会尝试发送邮件。稍等片刻我们检查一下接受邮件的账号是否收到了邮件。没有收到就要检查之前配置的邮件账号信息是否正确了。
配置数据库邮件通过SQL语句方式配置如下
- --创建配置文件
- exec msdb.dbo.sysmail_add_profile_sp
- @profile_name = 'MailConfigForJob',
- @description = '数据库作业通知使用';
- --添加smtp邮件账号
- exec msdb.dbo.sysmail_add_account_sp
- @account_name = 'MailAccountForJob',
- @description = '作业通知邮件账号',
- @email_address = 'JobAlert@test.com',
- @mailserver_name='smtp.test.com',
- @port = 25,
- @username = 'jobalert',
- @password = 'userpassword';
- --将邮件账号与配置文件进行关联
- exec msdb.dbo.sysmail_add_profileaccount_sp
- @profile_name = 'MailConfigForJob',
- @account_name ='MailAccountForJob',
- @sequence_number = 1;
2.添加操作员
添加操作员的目的是用来指定接收邮件通知的接收人。
在SQL Server 代理下右击”操作员“,选择”新建操作员“
在新建操作员窗口,只需要指定姓名和电子邮件地址名称即可。电子邮件名称是指接收邮件的邮件地址。
创建操作员的SQL语句为
- exec msdb.dbo.sp_add_operator
- @name = N'JobMonitor',
- @email_address=N'jobmonitor';
3.设置作业的通知
假设要在一个已经存在的作业上设置邮件提醒,在作业属性里先选中”通知“选项卡,在右侧点击”电子邮件“复选框,之后在第一个下拉列表中选择之前创建的操作员”JobMonitor",后边的“当作业失败时”为默认选择项,也可以改成“当作业成功时”或“当作业完成时”,这个根据实际需要而定。对于作业比较多的情况设置作业成功也接收邮件的话,要经常查看很多通知邮件,很容易造成视觉疲劳,有可能把失败的邮件忽略掉。当然,有时候服务器异常导致作业没有执行,是不会发送任何邮件的,如果完成时发送邮件的话可以确定作业已经执行了,突然有一天没有收到邮件,那就得主动去检查一下了。
设置通知的SQL语句为
- exec msdb.dbo.sp_update_job
- @job_name = 'test',
- @notify_level_email = 2,
- @notify_email_operator_name = N'JobMonitor';
SQL Server 2008 R2中配置作业失败后邮件发送通知的更多相关文章
- sql server 2008 r2 中的oracle发布使用笔记
sql server 2008 r2 中的oracle发布功能,能够将oracle数据库作为发布服务器,将oracle中的数据自动同步到sql server 数据库中,在新建oracle发布前确保sq ...
- SQL Server 2008 R2中,变表的右键弹出菜单中的“选择前1000行”为“选择所有行”
原文:SQL Server 2008 R2中,变表的右键弹出菜单中的"选择前1000行"为"选择所有行" 从SQL Server 2008开始,微软为了提高查询 ...
- 在系统启动时,Windows Vista 中、 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TIME_WAIT 状态的所有 TCP/IP 端口
在系统启动时,Windows Vista 中. 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TI ...
- SQL Server 2008 r2 中 SQL语句提示“对象名无效”,但可执行
[问题描述]在使用 SQL Server 2008 r2 时,有时在完成SQL书写后,会提示“对象名无效”,而SQL语句可正常执行. [原因]缓存相关. [解决方法]ctrl+shift+R 刷新下, ...
- SQL SERVER 2008 R2安全配置与防暴力破解
https://blog.csdn.net/enweitech/article/details/49864215 0x00 sql server 2008 权限介绍 在访问sql server 200 ...
- SQL Server 2008 R2中,“选择前1000行”为“选择所有行”
从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代. 点击[工具]-& ...
- 【转载】SQL Server 2008 r2 中 SQL语句中单引号转义
sql server有两个转义符. 默认情况下, 单引号'是字符串的边界符, 如果在字符串中包含单引号', 则必须使用两个单引号', 第1个单引号'就是转义符.
- 安装 SQL Server 2008 R2 的硬件和软件要求(转)
以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件 ...
- 【转载】SQL Server 2008 R2 使用的端口解析
转载博客:http://www.cnblogs.com/studyzy/archive/2009/11/30/1614139.html SQL Server在安装到服务器上后,出于服务器安全的需要,所 ...
随机推荐
- CMD如何快速打开当前文件夹窗口
/******************************************************************************* * CMD如何快速打开当前文件夹窗口 ...
- DW/BI领域的自动化调度方案
1,利用专用自动化工具:如Tidal,Ctrl-M,Jenkins等.特点是功能强大,可以调用各种平台程序,脚本,可以设置依赖关系,调度时间,可以监控运行状态,发送邮件. 2,利用工具自身携带的调度功 ...
- jmeter中提取json串
https://blog.csdn.net/zha6476003/article/details/80295068
- access数据库之cookie注入
本来今天想写post注入的,但这几天正好看到chookie的注入的视频.就先写一下这个.大家对于我说的get post cookie注入可能会认为SQL注入就这几种方式.这概念是错的.Get post ...
- 如何将maven配置在eclipse上
如何将maven配置在eclipse上 安装maven:(需要确保你已经安装了jdk) 去apache官网下载maven:http://maven.apache.org/download.cgi 下载 ...
- canvas绘图——根据鼠标位置进行缩放的实现原理
以任一点 A 缩放的基本原理: A 点为鼠标位置,正常放大是以原点放大,那么放大后 A 点就会变到 A1 点的位置 x1, y1.然后再将画布进行位移,将 A1 的位置移动到 A,则完成以 A 点缩放 ...
- Linux第六节课学习笔记
if条件测试语句可以让脚本根据实际情况自动执行相应的命令,可以分为单分支.双分支与多分支. /dev/null为无回收功能的垃圾箱. read是用来读取用户输入信息的命令,-p用来显示提示信息. fo ...
- python2.7安装django1.8后提示django-admin.py命令不存在
ln -s /usr/local/Python2.7/bin/django-admin.py /usr/local/bin/django-admin.py 将python命令目录下的django-ad ...
- 【python】问题汇总
1.pip降级 python -m pip install pip==9.0.3 2. Flask利用pymysql出现Warning:1366的解决办法 错误提示:(1366, "Inco ...
- canvas画小叮当
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...