时间:2021-07-01 10:21:17 帮助过:32人阅读
借助SQL Server自带的发送邮件的功能,可以为我们一些日常的工作带来一定的便利性。比如,收集SQL Server代理作业的失败记录,当数据库发生死锁时即时通知相关DBA等,都可以使用数据库邮件来实现mail通知的需求。下面将介绍SQL Server数据库邮件的配置、测试
借助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 表中查看
更多的数据库邮件信息可参考这里,相关存储过程可参考这里 。