Jeśli okaże się, że musisz automatycznie wysłać wiadomość e-mail po określonych zdarzeniach występujących w SQL Server, możesz to zrobić za pomocą wyzwalacza.
Na przykład możesz automatycznie wysłać wiadomość e-mail, gdy ktoś usunie lub zaktualizuje rekord z tabeli itp.
Aby to zrobić, musisz utworzyć wyzwalacz, który zawiera kod do wysłania wiadomości e-mail po wymaganym zdarzeniu.
Przykład
Oto przykład wyzwalacza, który wysyła wiadomość e-mail za każdym razem, gdy ktoś usunie rekord z tabeli o nazwie Cats
:
CREATE TRIGGER trg_deleted_cat
ON Cats
AFTER DELETE
AS
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Oh no... somebody just deleted a cat!!!',
@subject = 'Warning: This email may distress the reader';
W tym przypadku chcę, aby e-mail był wysyłany za każdym razem, gdy ktoś usunie wiersz, więc używam AFTER DELETE
.
Używam sp_send_dbmail
procedura składowana w msdb bazy danych do wysłania e-maila.
Aby to zadziałało, musisz mieć włączoną pocztę bazy danych i skonfigurowaną do wysyłania wiadomości e-mail (poczta bazy danych to rozwiązanie SQL Server do wysyłania wiadomości e-mail). Zobacz Jak wysłać e-mail z SQL Server, aby dowiedzieć się, jak to zrobić.