我们正面临 sql server 2014 中的 DB 邮件问题。
突然,它停止向用户发送电子邮件,在 msdb.dbo.sysmail_allitems 中声明 UNSENT 状态。
请帮忙。
我们正面临 sql server 2014 中的 DB 邮件问题。
突然,它停止向用户发送电子邮件,在 msdb.dbo.sysmail_allitems 中声明 UNSENT 状态。
请帮忙。
检查是否有人禁用代理或禁用发送电子邮件。这两个查询应该返回 1。
SELECT value_in_use
FROM sys.configurations
WHERE name = 'Database Mail XPs';
SELECT is_broker_enabled
FROM sys.databases
WHERE name='MSDB';
传输队列中有记录吗?没有记录意味着好的。如果有记录,请注意字段transmission_status。这是写此消息在队列中的原因。这通常是一条错误消息,解释了发送消息失败的原因。
select * from msdb.sys.transmission_queue ;
尝试清理“外部邮件队列”
WHILE EXISTS
(
SELECT 'ExternalMailQueue' AS ServiceBrokerQueueName,
*
FROM [msdb].[dbo].[ExternalMailQueue]
)
BEGIN
WAITFOR(
RECEIVE TOP (1) conversation_group_id FROM [ExternalMailQueue]), TIMEOUT 1000;
END;