Pokud chcete pomoci SQL serveru odesílat emaily např.logy a události, musíte tuto funkcionalitu nejprve nakonfigurovat (profil a účet) - toto jsem popisoval SQL - nastavení DB mailu
Emaily pak můžete posílat pomocí systémové procedury sp_send_mail
Když budete chtít odesílání mailů zpřístupnit i uživatelům musíte provést určitá nastavení, protože defaultně je volání procedury sp_send_mail omezeno.
Uživatel při volání této procedury dostane odpověď The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'
Možností jak povolit tuto funkcionalitu i pro uživatele je více, ale vždy jsem narazil na nějakou nevýhodu daného řešení např.udělování práv jednotlivým uživatelům znamená při založení uživatele pamatovat na to, že mu musím přidělit nějaká další práva, přidání uživatele k databázi msdb je obdobný problém navíc ne zcela bezpečný,....
Toto řešení danou problematiku řeší
Použijte SQL Managment Studio
1) nastavte používaný profil jako Public
Managment -> pravým tlač.myši -> Configure Database Mail -> Manage Profile Security -> nastav profil jako Public
2) Udělte oprávnění proceduře sp_send_mail
Databases -> MSDB -> pravým tlač.myši -> New Query -> spusťte příkaz grant execute on sp_send_dbmail to public
Otestováno na serverech MS SQL 2012 a MS SQL 2017