Pokud zjistíte, že potřebujete automaticky odeslat e-mail při určitých událostech na SQL Serveru, můžete to udělat pomocí spouštěče.
Můžete například automaticky odeslat e-mail, když někdo smaže nebo aktualizuje záznam z tabulky atd.
Chcete-li to provést, musíte vytvořit spouštěč, který obsahuje kód pro odeslání e-mailu při požadované události.
Příklad
Zde je příklad spouštěče, který odešle e-mail, kdykoli někdo smaže záznam z tabulky s názvem 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';
V tomto případě chci, aby byl e-mail odeslán vždy, když někdo smaže řádek, takže používám AFTER DELETE
.
Používám sp_send_dbmail
uložená procedura na msdb databáze k odeslání e-mailu.
Aby to fungovalo, musíte mít povolenou Database Mail a nakonfigurovanou pro odesílání e-mailů (Database Mail je řešení SQL Serveru pro odesílání e-mailů). Pokyny, jak to provést, najdete v části Jak odeslat e-mail ze serveru SQL.