SP_SEND_DBMAIL gespeicherte Prozedur mit senden, doppelte E-Mails an alle Empfänger

Ich habe eine gespeicherte Prozedur, die ausgeführt wird, die jede Nacht senden sollen, die Ergebnisse einer Abfrage an mehrere Empfänger. Aber an den meisten Tagen landet es sendet eine doppelte E-Mail eine minute später. Der code, den ich verwende, ist wie folgt (alle E-Mails und Datenbank-Referenzen verändert wurden):

EXEC msdb.dbo.sp_send_dbmail
@recipients = '[email protected]',
@copy_recipients = '[email protected];[email protected];[email protected]',
@subject = 'Example Email',
@profile_name = 'ExampleProfile',
@query = 'SELECT name
    FROM table
    WHERE date BETWEEN (getdate() - 1) AND getdate()',
@attach_query_result_as_file = 1

Jede Hilfe bei diesem würde sehr geschätzt werden.

  • Der Aufruf scheint gut, aber wie nennst du es? Sind Sie sicher, dass Sie nicht nennen es zwei mal?
  • Ich rufe es per Job-Manager in SQL Server-Agent, und soweit ich es sehen kann, wird nur einmal aufgerufen, innerhalb der Job-Scheduler.
  • Haben Sie überprüft, die log?
  • Ich habe gerade überprüft das Protokoll und der Job ist nur einmal am Tag ausgeführt und in jedem Job, den ich kann sehen, dass die Prozedur nur einmal ausgeführt wird.
  • Ausführen SELECT * FROM msdb.dbo.sysmail_sentitems ist es mit zwei Zeilen für die E-Mail in Frage? Wenn nicht, dann ist das ein mail-server-Problem. Wenn es dann die gespeicherte Prozedur wird zweimal genannt.
  • Versuchen Sie auch SELECT * FROM dbo.sysmail_event_log für mögliche Fehler, die gemacht haben, SQL-Versuch senden zweimal.
  • Ich habe laufen sowohl von den Fragen, die Sie zur Verfügung gestellt. Ich fand, dass es war nur eine E-Mail geschickt und keine Fehler aufgetreten sind, die auf die mailitem_id. Ich check die E-mail-server und sehen, ob die Duplikate sind dort vorkommenden. Wenn ich finden Sie heraus, warum dies passiert ist werde ich hier die Antwort.
  • Aus Interesse, sind diese Empfänger zweimal aufgeführt? Vielleicht einmal als [email protected] und dann wieder in eine Verteilerliste? Ich habe von einem bug in exchange, schickt zweimal in diesem Fall. Haben Sie ActiveSync auf einem Exchange 2003-Server, der hat einen bekannten bug, wenn SP2 nicht installiert ist?
  • Wir sind nicht mit beliebigen Verteilerlisten und ich habe Sie sicher, dass alle E-Mail-Adressen sind nur einmal aufgeführt. Nach Kontaktaufnahme mit den Jungs, die laufen, unsere E-mail-server, ich habe versucht, das deaktivieren der Arbeit zu sehen, wenn die SP war aufgerufen wird, von irgendwo anders, aber ich fand, dass dies nicht der Fall war, so landete ich neu zu den job-um zu sehen, ob es das problem behoben. Es scheint, getan zu haben, den trick. Aber ich werde es behalten Sie es für den rest der Woche und stellen Sie sicher, es wird nur einmal senden.

InformationsquelleAutor andewM | 2013-03-20
Schreibe einen Kommentar