作者: 代翀, 出处:IT专家网, 责任编辑: 包春林, 2009-03-05 14:35
问题:建立一个警告给操作员发送带有一条信息的电子邮件是一个多步骤过程。你可以建立数据库邮箱,定义一个操作员和一个警告,但是仍然不会发送电子邮件。那么怎样发送一个警告给操作员呢?
数据库邮件
首先建立数据库邮箱具有一个叫做SQLAlerts的profile。这个profile可以以任何名称来命名,但是在这些指导中,引用的是profile名称SQLAlerts。如果你想用一个不同的profile名称只要做相应的替代就可以了。
定义操作员
使用Microsoft SQL管理套件连接到这个实例。
双击SQL Server 代理。
右键单击Operators并选择New Operator(新建操作员)。
图1
指定操作员名称、E-mail名称并点击OK。
图2
建立SQL代理设置
注意: 这个步骤在第一次创建警告的时候通常被忽略。
SQL代理必须为操作员正确地建立以接收警告e-mail。
右键单击SQL Server Agent ->选择Properties
图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
重启SQL代理来激活这些设置
警告:重启SQL代理将取消所有在执行的工作。
图5
定义警告
这个示例警告在TEMPDB数据库大小大于0KB时发送邮件。这个设置被设置为0,
所以这个警告会被进行测试。当验证过后,你需要将它的设置更新为一个合理的数值或将其关闭。
右键单击Alerts并选择New Alert。
图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
点击左边面板中的Response :
选择Notify operators
为操作员选择E-mail
图8
点击左边面板中的Options
选择Include alert error text in E-mail (在E-mail中包含警告错误正文)
Delay between response(响应间的延迟为): 2分钟
点击OK
![图9](http://database.ctocio.com.cn/imagelist/2009/064/695100mvhf71.jpg)
验证警告是否起作用
操作员如果没有看到故障排除部分就应该会收到一封e-mail。
打开这个警告。点击左边面板中的History。
当警告被触发时,字段就会被更新。
图10
停止这个测试
要停止这个警告不要每两分钟即进行发送,那么你有两个选项来关闭这个警告或提供
一个更合适的大小和响应时间。
要关闭警告:
点击左边面板中的General并不选Enable,然后点击OK。
或者
右键单击警告名称并选择Disable(关闭)。
![图11](http://database.ctocio.com.cn/imagelist/2009/064/43j7q95zb8ob.jpg)
要改变这些设置:
点击左边面板中的General。
将值改为比现有TEMPDB数据库文件保存更大的值。目前的文件规模包含在电子邮件发送的警告中。
点击左边面板中的Options。
将响应时间由12小时改为720分钟。
点击OK。
图12
图13
故障排除
如果操作员没有接收到电子邮件:
通过给操作员的电子邮箱地址发送一个测试电子邮件来测试数据库邮箱。
确保你重启了SQL代理而且它正在运行。