Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql sp_send_dbmail继续发送电子邮件_Sql_Sql Server_Sql Server 2008 R2_Sp Send Dbmail - Fatal编程技术网

Sql sp_send_dbmail继续发送电子邮件

Sql sp_send_dbmail继续发送电子邮件,sql,sql-server,sql-server-2008-r2,sp-send-dbmail,Sql,Sql Server,Sql Server 2008 R2,Sp Send Dbmail,我创建了一个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,用于重建/重新组织索引

如果发生错误,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,但什么也没有出现。 重新启动服务器,继续发送相同的电子邮件

有人能帮我吗

EDIT1: 我已经执行了

select  count(*), sent_status
from msdb.dbo.sysmail_mailitems
where send_request_date > '20150116'
GROUP BY sent_status
发现有100万封未发送的电子邮件,20万封未重试,30万封未发送。所以执行

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\u delete\u mailitems\u sp删除电子邮件之后,一些电子邮件到达了收件箱,但现在已停止检查这些sql邮件表,以查看错误是否存在于数据库或邮件服务中:
按日志日期描述从msdb.dbo.sysmail\u日志顺序中选择TOP 100*,
按发送日期描述从msdb.dbo.sysmail\u邮件顺序中选择TOP 100*