SQL Server数据库邮件发送异常案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server数据库邮件发送异常案例相关的知识,希望对你有一定的参考价值。

 

最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下。方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂!

 

案例1:我们一台数据库服务器突然发送邮件都不行了,出现问题时,检查邮件发送记录,你会发现发送状态都是failed。

SELECT * FROM msdb.dbo.sysmail_faileditems
 
SELECT * FROM msdb.dbo.sysmail_mailitems

 

检查Database Mail Log,你会发现有下面一些错误日志,具体如下所示:

clip_image001

 

由于邮件服务器故障,无法将邮件发送给收件人。 (使用帐户 1 (2017-03-22T00:01:26) 发送邮件。 异常邮件: 无法将邮件发送到邮件服务器。 (SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: 5.7.1 Client was not authenticated)。)

 

clip_image002

 

出现这个问题是因为在EXCHANGE服务器上的关于这台服务器的SMTP权限不知道什么原因被取消了,导致数据库使用sp_send_dbmail发送邮件时,客户端无法通过身份验证。这个找EXCHANGE的管理员增加SMTP权限即可解决。

 

 

案例2:使用SQLBackupAndFtp备份的一台数据库服务器也突然遭遇发送邮件失败,测试邮件发送时会遇到超时提示。这个原因,系统管理员帮忙找了好久,才发现是因为服务器上安装了Symantec的杀毒软件,他们在服务器端开启了Internet Email Auto-Protect功能。 导致Symante杀毒软件拦截SQLBackupAndFtp软件发送邮件。

 

clip_image003

 

 

以上是关于SQL Server数据库邮件发送异常案例的主要内容,如果未能解决你的问题,请参考以下文章

配置 SQL Server 2008 Email 发送以及 Job 的 Notification通知功能

监控SQL Server数据库异常镜像状态发告警邮件

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

从sql server express发送电子邮件[关闭]

在 SQL Server 2005 中配置数据库邮件,发送邮件

在 SQL Server 2005 中配置数据库邮件,发送邮件