SQL 2008 – 数据库邮件问题

我有两个SQL Server 2008实例。一个是从SQL Server 2000升级的,一个是干净的新安装。 这些实例在同一个集群的不同节点上运行,尽pipe我已经试图在同一个节点上使用它们,结果相同。

SQL邮件在两个实例上运行完美。

数据库邮件完全在新安装的实例上运行。

在升级的实例上,DB Mail不会发送任何邮件。 当然,我并不认为这个实例升级的事实与这个问题有关,但可能。

我的数据库邮件configuration文件和帐户的configuration看起来与我正在运行的实例相同。 在SQL代理属性的“警报”选项卡的configuration中,我尝试selectDB Mail和SQL Mail都无济于事。 两个实例都使用相同的SMTP服务器进行相同的身份validation(具有数据库引擎帐户的域)。

所有通过sp_send_db邮件发送的邮件以及通过“testing电子邮件”选项发送的邮件都将显示在sysmail_allitems队列中,并保留为“未发送”。 send_status最终更改为“失败”。

sysmail_event_log中的唯一消息是“邮件队列由login域\ myuser停止”,“邮件队列由login域/ myuser启动”和“激活成功”。

从externalmailqueue中select与sysmail_allitems相同的行数。 我尝试了弹跳代理,整个实例,并将其他正在运行的实例移动到集群中的其他节点。

有什么想法吗? 谢谢。

您的SMTP服务器是否根据IP来控制对自身的访问? 你能发送来自数据库的testing消息,并从错误日志中发布结果或错误?

SMTP服务器,我相信,只是基于不是IP的凭据控制。 两个实例使用相同的凭据。

SQL ERRORLOG中没有显示任何内容。 以下是Win Event Viewer中的消息:连接出现错误。 原因:与SQL Serverbuild立连接时发生networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定),连接参数:服务器名称:vnn \ instance,数据库名称:msdb与SQL Serverbuild立连接时发生networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:SQLnetworking接口,错误:26 – 错误定位服务器/实例指定)

我不明白如何数据库邮件无法连接到它正在运行的实例。

我没有具体的答案,但我可以提供一些我用来debuggingDB Mail的信息。 防病毒软件和垃圾邮件filter往往是一个问题。 确保服务器上没有任何防病毒软件阻止数据库邮件发送电子邮件,并确保邮件没有被垃圾邮件filter阻止。

我也build议使用telnet或类似SMTPDiag ,以确保它不是一个SMTP连接问题。

它也可以帮助将数据库邮件日志logging更改为冗长。 为此,进入SQL Server Management Studio,右键单击数据库邮件,然后select“configuration数据库邮件”。 在“configuration数据库邮件”向导中select“查看或更改系统参数”。 将有一个选项来设置日志级别,将其设置为详细。 这将给你更详细的数据库邮件日志。 解决该问题后,您需要将其更改回较低的日志logging级别。

如果您认为msdb数据库的问题是相关的,那么我build议对msdb数据库运行一个SQL Server Profiler跟踪。 确保包含审计login失败事件。 在跟踪正在运行时,请尝试使用数据库邮件发送testing电子邮件。