> 数据库 > SQL Server 2012 >

配置SQL Server 2012数据库邮件

借助SQL Server自带的发送邮件的功能,可以为我们一些日常的工作带来一定的便利性。比如,收集SQL Server代理作业的失败记录,当数据库发生死锁时即时通知相关DBA等,都可以使用数据库邮件来实现mail通知的需求。下面将介绍SQL Server数据库邮件的配置、测试等。

配置数据库邮件
首先按照下面的步骤配置文件和指定账户

  1. 如下图展开对象资源管理器,右击数据库邮件,然后点击配置数据库邮件
  2. 弹出下图后,点击“下一步”
  3. 按照默认的,点击“下一步”
  4. 指定配置文件名和说明,然后点击“添加”。
  5. 输入帐户名、电子邮件地址、服务器名称等,然后点击“确定”
  6. 下一步
  7. 下一步
  8. 下一步
  9. 完成
  10. 关闭

接下来配置邮件

在配置文件和账户完成后,需要配置邮件,具体如下:

[sql] view plain copy
 
  1. sp_CONFIGURE 'show advanced', 1  
  2. GO  
  3. RECONFIGURE  
  4. GO  
  5. sp_CONFIGURE 'Database Mail XPs', 1  
  6. GO  
  7. RECONFIGURE  
  8. GO  

测试邮件

如下图,右击“数据库邮件”,然后点击“发送测试电子邮件”

如下图,输入收件人,然后点击“发送测试电子邮件”


如果顺利的话,应该可以收到测试的邮件(如下图),否则就要检查前面的配置信息是否都有效。



执行存储过程sp_send_dbmail进行测试:

[sql] view plain copy
 
  1. USE msdb  
  2. GO  
  3. EXEC sp_send_dbmail   
  4. @profile_name = 'Local DBA',  
  5. @recipients='Burgess.Liu@quantacn.com',  
  6. @subject='Test',  
  7. @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)