借助SQL Server自带的发送邮件的功能,可以为我们一些日常的工作带来一定的便利性。比如,收集SQL Server代理作业的失败记录,当数据库发生死锁时即时通知相关DBA等,都可以使用数据库邮件来实现mail通知的需求。下面将介绍SQL Server数据库邮件的配置、测试等。
配置数据库邮件
首先按照下面的步骤配置文件和指定账户
-
如下图展开对象资源管理器,右击数据库邮件,然后点击配置数据库邮件
-
弹出下图后,点击“下一步”
-
按照默认的,点击“下一步”
-
指定配置文件名和说明,然后点击“添加”。
-
输入帐户名、电子邮件地址、服务器名称等,然后点击“确定”
-
下一步
-
下一步
-
下一步
-
完成
-
关闭
接下来配置邮件
在配置文件和账户完成后,需要配置邮件,具体如下:
-
sp_CONFIGURE 'show advanced', 1
-
GO
-
RECONFIGURE
-
GO
-
sp_CONFIGURE 'Database Mail XPs', 1
-
GO
-
RECONFIGURE
-
GO
测试邮件
如下图,右击“数据库邮件”,然后点击“发送测试电子邮件”
如下图,输入收件人,然后点击“发送测试电子邮件”
如果顺利的话,应该可以收到测试的邮件(如下图),否则就要检查前面的配置信息是否都有效。
执行存储过程sp_send_dbmail进行测试:
-
USE msdb
-
GO
-
EXEC sp_send_dbmail
-
@profile_name = 'Local DBA',
-
@recipients='Burgess.Liu@quantacn.com',
-
@subject='Test',
-
@body='Test by Burgess'
邮件日志相关
邮件副本:Database Mail将保留发出的电子邮件的副本,我们可以通过sysmail_allitems, sysmail_sentitems, sysmail_unsentitems, sysmail_faileditems来查询。
邮件的发送状态:保存在sysmail_mailitems表中,成功发送时,该表中sent_status栏目将显示为1;发送失败时,sent_status栏目将显示为2,未发送时为3。
日志文件:可以在sysmail_log 表中查看
更多的数据库邮件信息可参考这里,相关存储过程可参考这里 。
(责任编辑:IT) |