Chcete-li odesílat e-maily pomocí Database Mail na serveru SQL Server, musí být uživatel členem DatabaseMailUserRole v msdb databázi a mít přístup alespoň k jednomu profilu Database Mail.
Chcete-li uživateli udělit přístup k profilu Database Mail s T-SQL, použijte sysmail_add_principalprofile_sp
uložená procedura v msdb
databáze.
Příklad
Zde je příklad k demonstraci.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Admin Profile',
@principal_name = 'Marge',
@is_default = 1;
V tomto případě uděluji uživateli „Marge“ přístup k profilu „DB Admin Profile“.
To předpokládá, že profil a uživatel již existují.
V tomto případě jsem také zadal @is_default = 1
, což z něj dělá výchozí profil pro uživatele.
Zadejte ID uživatele/profilu
Alternativně můžete místo jejich jmen zadat ID uživatele a/nebo ID účtu.
Proto bychom mohli změnit předchozí příklad, aby vypadal nějak takto:
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_id = 1,
@principal_id = 25,
@is_default = 1;
To samozřejmě předpokládá, že se jedná o ID příslušných účtů.
Všimněte si, že musí být uvedeno buď jméno, nebo ID.
Při poskytování ID jsou také poskytnuta jako int .
Všimněte si, že sysmail_add_principalprofile_sp
uložená procedura je v msdb
databázi a je vlastněna dbo
schéma. Proto budete muset použít třídílné pojmenování, pokud jej spustíte mimo msdb
databáze.
Veřejné profily
Můžete také nastavit profil jako výchozí veřejný profil pro uživatele v msdb databáze.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Public Profile',
@principal_name = 'public',
@is_default = 1;
Chcete-li profil zveřejnit, zadejte @principal_id
z 0
nebo @principal_name
z public
. Veřejný profil je k dispozici všem uživatelům v msdb databáze (ačkoli uživatelé musí být také členy DatabaseMailUserRole spustit sp_send_dbmail
).
Upozorňujeme, že může existovat pouze jeden výchozí veřejný profil.
Konfigurace databázové pošty
Výše uvedené kroky předpokládají, že jste již vytvořili profil Database Mail a přidali k tomuto profilu alespoň jeden účet Database Mail.
Úplný příklad konfigurace databázové pošty a odeslání e-mailu naleznete v části Jak odeslat e-mail na serveru SQL.