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

Přidání databázového poštovního účtu do profilu (T-SQL)

V SQL Server používá Database Mail k odeslání e-mailu profily, nikoli přímo účty.

Proto musíte nejprve vytvořit profil, vytvořit účet a poté přidat účet do profilu. Musíte také udělit uživatele v msdb databázový přístup k profilu.

Chcete-li přidat účet Database Mail do profilu s T-SQL, použijte sysmail_add_profileaccount_sp uložená procedura v msdb databáze.

Příklad

Zde je příklad přidání účtu Database Mail do profilu Database Mail pomocí T-SQL.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin',  
    @sequence_number = 1;

V tomto případě přidám účet „DB Admin“ do profilu „DB Admin Profile“.

To předpokládá, že profil a účet již existují.

Do profilu Database Mail můžete přidat více účtů. Pořadové číslo určuje pořadí, ve kterém jsou účty v profilu použity. Database Mail začíná účtem, který má nejnižší pořadové číslo. Pokud tento účet selže, použije se účet s dalším nejvyšším pořadovým číslem a tak dále.

Pokud existuje více než jeden účet se stejným pořadovým číslem, Database Mail použije pro danou e-mailovou zprávu pouze jeden z těchto účtů.

Neexistuje však žádná záruka, že stejný účet bude použit pro následující zprávy. Pokud například dva účty sdílejí pořadové číslo 1, můžete dostávat některé e-maily z jednoho účtu a některé z druhého účtu.

Zadejte ID účtu/profilu

Alternativně můžete místo jejich jmen zadat ID profilu a/nebo ID účtu.

Proto bychom mohli změnit předchozí příklad, aby vypadal nějak takto:

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_id = 1,  
    @account_id = 1,  
    @sequence_number = 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_profileaccount_sp uložená procedura je v msdb databázi a je ve vlastnictví dbo schéma. Proto budete muset použít třídílné pojmenování, pokud jej spustíte mimo msdb databáze.


  1. jak zavolat jeden uložený proces z prašníku a upravit vracený rekurzor?

  2. SQL Server Fulltextové vyhledávání Únikové znaky?

  3. Jak vypsat všechny uložené procedury v databázi Oracle

  4. Jak vygeneruji náhodné číslo pro každý řádek ve výběru T-SQL?