sql >> Databáze >  >> RDS >> Sqlserver

Udělení přístupu uživatele msdb k profilu pošty databáze v SQL Server (T-SQL)

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.


  1. Nasazení aplikace Django do AWS Elastic Beanstalk

  2. Jak ASIN() funguje v MariaDB

  3. Jak zašifrovat heslo v Oracle?

  4. SQL Server:Dynamická klauzule where