Senden von E-Mails in SQL Server 2008 R2
-
21-12-2019 - |
Frage
Ich bin mit einer Funktion, um E-Mail-Erinnerungen an Mitarbeiter in mein Unternehmen zu senden, wenn sie über eine Intranet-Webanwendung keine Bescheinigungsformular ausgerüstet haben.
Ich dachte daran, eine gespeicherte Prozedur zu schreiben, die in einem nächtlichen Datenbankjob aufgerufen wird (SQL Server 2008 R2).Der ProC würde die E-Mail-Adresswerte des E-Mail-Adress-Adressens auswählen und durch den Cursor durchführen, sodass für jede E-Mail eine E-Mail-Adresse mit msdb.dbo.sp_send_dbmail gesendet wird.
Die Sorge, die ich habe, ist, dass dies für ein großes Unternehmen ist, und Zehntausende von E-Mails könnten abends ausgehen.Gibt es eine Möglichkeit, Leistungsbedenken beim Absenden eines solchen E-Mail-Volumens zu mildern?Oder auf den Zehntausendniveau sollte es nicht ein Anliegen sein?
Lösung
Ich rechnete in Ihrem Vorgehensweisen Sie können eine Temp-Tabelle / Tabellenvariable erstellen und mit den E-Mails füllen, die Sie per E-Mail senden möchten, an.
Wenn Sie alle E-Mails in einer Tabelle haben, können Sie die E-Mail-Adressen mit ;
verketten und auf einer Variablen speichern und als Parameter als Parameter als Parameter auf @Recipient-Parameter von MSDB.dbo.sp_send_dbmail prozieren.
so etwas so ...
sagen, Sie haben eine Tabellenvariable besetzt, die namens E-Mails in Ihrem Prozedur in Ihrem Vorgang teilnimmt
generasacodicetagpre.Verkettung von E-Mails
generasacodicetagpre.Geben Sie diese Variable jetzt an @Recipient-Parameter
weiter. generasacodicetagpre.