我创建了一个 SP,用于重建/重组我的索引。
如果发生错误,sp_send_dbmail会通知我错误。电话是这样的
EXEC MSDB.DBO.sp_send_dbmail
@profile_name=@profile_name,
@recipients = 'email@domain.com',
@body=@Message,
@body_format='TEXT',
@Subject=@Subject;
上周,工作正常,我通过电子邮件收到了错误。但是昨晚,当发生错误时,发送了一封电子邮件,现在正在连续发送相同的电子邮件。在作业活动监视器上,作业已完成。我执行了sp_who2以查找是否有东西在运行我的 SP,但没有任何结果。重新启动服务器,继续发送相同的电子邮件。
谁能帮我?
编辑1:我已经执行了
select count(*), sent_status
from msdb.dbo.sysmail_mailitems
where send_request_date > '20150116'
GROUP BY sent_status
并发现有 1 亿封电子邮件未发送 200000 次重试,300000 次发送。所以执行
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp @sent_before = Null,
@sent_status = 'unsent';
希望解决这个问题。但是电子邮件一直入准备发送...再次执行第一个查询,现在有 1 封电子邮件未发送。
执行时
SELECT TOP 100 * FROM msdb.dbo.sysmail_log ORDER BY log_date DESC
抛出消息:
Error: 14667, Severity: 16, State: 1. (Params:). The error is printed in
terse mode because there was error during formatting. Tracing, ETW,
notifications etc are skipped.
而且
mailitem_id on conversation 39EBD9CC-3C9D-E411-8ACD-782BCB32DC87 was not
found in the sysmail_send_retries table. This mail item will not be sent.
嗯,似乎已经解决了,删除了sysmail_delete_mailitems_sp的电子邮件后,一些电子邮件到达了收件箱,但现在停止了