SQL Server 2008 R2中配置作业失败后邮件发送通知

SQL Server日常维护中难免会遇到作业失败的情况。失败后自然需要知道它失败了,除了例行检查可以发现出错以外,有一个较实时的监控还是很有必要的。比较专业的监控系统比如SCOM虽然可以监控作业执行情况在出错时进行报警,但对于DBA来说可能可定制性不高,最主要的是负责监控的人员在看到报警后一般都需要立刻联系DBA来解决,对于一些重要性不高的作业失败了,大半夜把你叫起来,感觉肯定是不爽的。SQL Server 本身支持发送数据库邮件,结合发送邮件的功能,在作业失败后将出错情况通过邮件通知DBA,这样对于了解作业执行是否异常帮助是很大的。

配置步骤如下

1.配置数据库邮件

在管理节点下,找到“数据库邮件”,右击,选择“配置数据库邮件”

配置向导的“选择配置任务”步骤,可以选择第一项,这样可以按向导步骤配置各项。

点击“下一步"以后,如果之前没有启用数据库邮件功能,会弹出对话框询问是否启用。要继续下去,自然得选择”是“了。

启用数据库邮件功能实际上是启用了Database Mail XPs服务器设置

可以提前通过SQL语句来完成,如下:

[sql] view plain copy

  1. exec sp_configure ‘show advanced options‘,1
  2. GO
  3. RECONFIGURE
  4. GO
  5. exec sp_configure ‘Database Mail XPs‘,1
  6. GO
  7. RECONFIGURE
  8. GO

新建配置文件步骤,需要指定配置文件名,根据需要设置即可。说明不是必须的。

同时这一步必须添加一个SMTP账号,用来登录到邮件服务器发送邮件。点击”添加“按钮。

在新建数据库邮件账号对话框里,需要指定账号名、电子邮件地址、服务器名称,还要选择身份验证的方式。一般我们连接的邮件服务器都是需要通过用户名和密码的方式进行验证,所以要选择”基本身份验证“,并填写正确的用户名、密码以及确认密码。

这样就完成STMP账号的添加了,点击”下一步“继续

在”管理配置文件安全性“步骤可以保持默认的设置,也可以根据实际安全性要求进行设置。

在”配置系统参数“步骤,按需要酌情设置。账户重试次数有必要设置一下,这样在遇到邮件服务器短时间内无法连接的时候可以通过重试来尽量避免通知邮件收不到的情况发生。之后下一步完成向导就可以了。

配置完数据库邮件以后,最好测试一下数据库邮件工作是否正常。右击”数据库邮件“项选择”发送测试电子邮件“。

收件人填写为接收邮件的电子邮件地址。点击发送测试电子邮件按钮后,数据会尝试发送邮件。稍等片刻我们检查一下接受邮件的账号是否收到了邮件。没有收到就要检查之前配置的邮件账号信息是否正确了。

配置数据库邮件通过SQL语句方式配置如下

[delphi] view plain copy

  1. --创建配置文件
  2. exec msdb.dbo.sysmail_add_profile_sp
  3. @profile_name = ‘MailConfigForJob‘,
  4. @description = ‘数据库作业通知使用‘;
  5. --添加smtp邮件账号
  6. exec msdb.dbo.sysmail_add_account_sp
  7. @account_name = ‘MailAccountForJob‘,
  8. @description = ‘作业通知邮件账号‘,
  9. @email_address = ‘[email protected]‘,
  10. @mailserver_name=‘smtp.test.com‘,
  11. @port = 25,
  12. @username = ‘jobalert‘,
  13. @password = ‘userpassword‘;
  14. --将邮件账号与配置文件进行关联
  15. exec msdb.dbo.sysmail_add_profileaccount_sp
  16. @profile_name = ‘MailConfigForJob‘,
  17. @account_name =‘MailAccountForJob‘,
  18. @sequence_number = 1;

2.添加操作员

添加操作员的目的是用来指定接收邮件通知的接收人。

在SQL Server 代理下右击”操作员“,选择”新建操作员“

在新建操作员窗口,只需要指定姓名和电子邮件地址名称即可。电子邮件名称是指接收邮件的邮件地址。

创建操作员的SQL语句为

[sql] view plain copy

  1. exec msdb.dbo.sp_add_operator
  2. @name = N‘JobMonitor‘,
  3. @email_address=N‘jobmonitor‘;

3.设置作业的通知

假设要在一个已经存在的作业上设置邮件提醒,在作业属性里先选中”通知“选项卡,在右侧点击”电子邮件“复选框,之后在第一个下拉列表中选择之前创建的操作员”JobMonitor",后边的“当作业失败时”为默认选择项,也可以改成“当作业成功时”或“当作业完成时”,这个根据实际需要而定。对于作业比较多的情况设置作业成功也接收邮件的话,要经常查看很多通知邮件,很容易造成视觉疲劳,有可能把失败的邮件忽略掉。当然,有时候服务器异常导致作业没有执行,是不会发送任何邮件的,如果完成时发送邮件的话可以确定作业已经执行了,突然有一天没有收到邮件,那就得主动去检查一下了。

设置通知的SQL语句为

[sql] view plain copy

    1. exec msdb.dbo.sp_update_job
    2. @job_name = ‘test‘,
    3. @notify_level_email = 2,
    4. @notify_email_operator_name = N‘JobMonitor‘;
时间: 2024-10-11 20:54:01

SQL Server 2008 R2中配置作业失败后邮件发送通知的相关文章

SQL Server 2008 R2中,变表的右键弹出菜单中的“选择前1000行”为“选择所有行”

原文:SQL Server 2008 R2中,变表的右键弹出菜单中的"选择前1000行"为"选择所有行" 从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代.这有时会为我们带来一些不便. 更改方法是:打开SQL Server Management Studio,依次点击"工具"菜单."选项",展开左

SQL Server 2008 R2中,“选择前1000行”为“选择所有行”

从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代. 点击[工具]->[选项]

安装 SQL Server 2008 R2 的硬件和软件要求(转)

以下各部分列出了安装和运行 SQL Server 2008 R2 的最低硬件和软件要求.有关 SharePoint 集成模式下的 Analysis Services 的要求的详细信息,请参阅硬件和软件要求 (PowerPivot for SharePoint). 对于 SQL Server 2008 R2 的 32 位和 64 位版本,适用以下要求: SQL Server 2008 R2 Datacenter 有评估版可供使用,试用期为 180 天.有关详细信息,请参阅 SQL Server:

SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件

原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail可以继续使用. SQLMail要求有应用程序编程接口(Extended Messaging Application Programming Interface,MAPI),安装新的Office时可能导致SQLMail失败. 数据库邮件更加安全.可靠,并且不需要MAPI.具有群集感知能力.可以自动重传发送失败的

Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be

今天在其他电脑配置 SQl server 2008 R2,安装完成后,发现打开配置管理工具服务 :显示远程过程调用失败:0x800706be 这样的错误提示 之前并没有遇到过这种问题,猜想,可能是这台电脑之前安装了 visual studio 2012,内置的SQl server 2012与之冲突,导致新的2008 R2 版本过低导致. 解决方法如下: 有软件管理器的打开软件管理器,没有的进入控制面板的程序卸载,将"Microsoft SQL Server 2012 Express LocalD

[转] SQL SERVER 2008 R2 安装中的账户设置问题

故纸堆 原文:SQL SERVER 2008安装中设置账户的问题,2013-7 在安装SQL Server 2008数据库服务器的时候,服务器有可能处于以下几种环境中: ①工作组环境下的服务器 (WorkGroup) ②域环境下的域控制器  (Domain Controller) ③域环境下的成员服务器 (Domain Member) ④群集环境 (cluster)   在实际应用中,开发人员或者实施人员很少有机会接触到基于域控制器的网络环境的应用,绝大多数应用都是针对工作组环境的. 比如:配置

在windows server 2008中安装SQL Server 2008 R2 1433端口未启用解决办法

SQL Server 一般默认的端口为 1433 ,但有时会遇到无法连接端口1433的问题,检查端口1433是否启用的方法为: 开始–>输入cmd –>回车–>telnet localhost 1433->回车   出现黑屏,表示本机连接端口1433成功. 或者 开始–>输入cmd –>回车–>netstat -an | find "1433"->回车 出现1433端口,表示本机1433端口开放. 我本次安装过程中遇到的问题:1433端口

Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法:

Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法:常见问题:HTTP 错误 500.0 - Internal Server Error无法显示页面,因为发生内部服务器错误.模块 IsapiModule 通知 ExecuteRequestHandler 处理程序 AboMapperCustom-20607 错误代码 0x800700c1 请求的 URL http://localhost:80/index.php 物理路径 D:\wwwroot\777t\i

sql server 2008 R2连接失败 错误:18456

这种问题的解决方法: 第一步:以windows验证模式进入数据库管理器. 第二步:在对新资源管理器中右击实例名称选择属性,弹出服务器属性对话框,我们在左侧栏选择[安全性]选项卡,选中”SQL Server和Windows身份验证模式“,并点击确定按钮. 第三步:在对新资源管理器中选择安全性-->登录名-->sa 第四步:右击sa,选择属性:在[常规]选项卡中,重新填写密码和确认密码. 第五步:点击[状态]选项卡:勾选授予和启用,然后点击确定按钮. 第六步:重启SQLSERVER服务(很重要)