建立SQL2005警告和给操作员发送email通知

来源:互联网 发布:网络电视看不了了 编辑:程序博客网 时间:2024/05/24 02:26

 

作者: 代翀,  出处:IT专家网, 责任编辑: 包春林,  2009-03-05 14:35

 

  问题:建立一个警告给操作员发送带有一条信息的电子邮件是一个多步骤过程。你可以建立数据库邮箱,定义一个操作员和一个警告,但是仍然不会发送电子邮件。那么怎样发送一个警告给操作员呢?

 

数据库邮件

  首先建立数据库邮箱具有一个叫做SQLAlerts的profile。这个profile可以以任何名称来命名,但是在这些指导中,引用的是profile名称SQLAlerts。如果你想用一个不同的profile名称只要做相应的替代就可以了。

 

定义操作员

  使用Microsoft SQL管理套件连接到这个实例。

  双击SQL Server 代理。

  右键单击Operators并选择New Operator(新建操作员)。

   图1 1

 

  指定操作员名称、E-mail名称并点击OK。

  图2 图2

  建立SQL代理设置

  注意: 这个步骤在第一次创建警告的时候通常被忽略。

    SQL代理必须为操作员正确地建立以接收警告e-mail。

 

  右键单击SQL Server Agent ->选择Properties 

  图3 图3

 

   选择左边面板中的Alert System(警告系统):

  选择Enable mail profile

  检查Mail system:Database Mail

  检查Mail Profile:SQLAlerts

  选择Include body of e-mail in the notification message(在通知信息中包含e-mail内容)

  点击OK。

  图4 图4

 

重启SQL代理来激活这些设置

  警告:重启SQL代理将取消所有在执行的工作。

  图5 图5

 

  定义警告

  这个示例警告在TEMPDB数据库大小大于0KB时发送邮件。这个设置被设置为0,

    所以这个警告会被进行测试。当验证过后,你需要将它的设置更新为一个合理的数值或将其关闭。

 

  右键单击Alerts并选择New Alert。

  图6 6

  在General面板中指定:

  Name(名称): TEMPDB Growing

  Type(类型): SQL Server performance condition alert

  Object(对象): SQLServer:Databases

  Counter(计算器): Data File(s) (KB)

  Instance(实例): tempdb

  Alert if counter(如果计数达到发出警告): rises above

  Value(值): 0

  图7 7

  点击左边面板中的Response :

  选择Notify operators

  为操作员选择E-mail

   图8 8

 

    点击左边面板中的Options

  选择Include alert error text in E-mail (E-mail中包含警告错误正文)

  Delay between response(响应间的延迟为) 2分钟

  点击OK

 

 

 

      图9 9

 

  验证警告是否起作用

  操作员如果没有看到故障排除部分就应该会收到一封e-mail

  打开这个警告。点击左边面板中的History

  当警告被触发时,字段就会被更新。

     图10 10

   

  停止这个测试

  要停止这个警告不要每两分钟即进行发送,那么你有两个选项来关闭这个警告或提供

一个更合适的大小和响应时间。

 

  要关闭警告:

  点击左边面板中的General并不选Enable,然后点击OK

  或者

  右键单击警告名称并选择Disable(关闭)

 

  图11 图11

要改变这些设置:

  点击左边面板中的General。

  将值改为比现有TEMPDB数据库文件保存更大的值。目前的文件规模包含在电子邮件发送的警告中。

  点击左边面板中的Options。

  将响应时间由12小时改为720分钟。

  点击OK。

  图12 12

  图13 图13

  故障排除

  如果操作员没有接收到电子邮件:

  通过给操作员的电子邮箱地址发送一个测试电子邮件来测试数据库邮箱。

  确保你重启了SQL代理而且它正在运行。