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

Jak změnit pořadové číslo databázového poštovního účtu v profilu v SQL Server (T-SQL)

Pokud jste do profilu již přidali účet Database Mail, ale nyní chcete změnit pořadové číslo, můžete to provést pomocí sysmail_update_profileaccount_sp uložená procedura.

Když to uděláte, musíte zadat jméno nebo ID účtu i profilu. Je to proto, že musíte přesně určit, který profil/přidružení účtu chcete aktualizovat.

Příklad

Zde je příklad k demonstraci:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp  
    @profile_name = 'DB Admin Profile',
    @account_name = 'DB Admin',
    @sequence_number = 2;

Tento příklad změní pořadové číslo účtu s názvem „DB Admin“ v profilu nazvaném „DB Admin Profile“.

V tomto případě jsem změnil pořadové číslo na 2, což znamená, že účet „DB Admin“ bude použit pouze v případě, že první účet selže.

Použití ID profilu/účtu

V tomto příkladu používám ID profilu a účtu místo jejich jmen:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp  
    @profile_id = 1,
    @account_id = 1,
    @sequence_number = 3;

Použití kombinace ID a jména

Alternativně můžete zadat ID jednoho a název druhého.

Například:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp 
    @profile_name = 'DB Admin Profile',
    @account_id = 1,
    @sequence_number = 4;

Nebo naopak:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
    @profile_id = 1,
    @account_name = 'DB Admin',
    @sequence_number = 1;

Jak pořadové číslo funguje?

Do profilu Database Mail můžete přidat více účtů. Pořadové číslo určuje pořadí, ve kterém jsou tyto účty použity v profilu při odesílání pošty. 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.

Měl bych zdůraznit, že podle tohoto článku společnosti Microsoft, když odešlete novou e-mailovou zprávu, Database Mail ve skutečnosti začíná posledním účtem, který zprávu úspěšně odeslal , nebo účet, který má nejnižší pořadové číslo, pokud ještě nebyla odeslána žádná zpráva.

Skutečnost, že začíná posledním účtem, který úspěšně odeslal zprávu, není uvedena v oficiální dokumentaci pro sysmail_add_profileaccount_sp nebo sysmail_update_profileaccount_sp .

V každém případě je to něco, na co je třeba pamatovat, a může vás to zachránit před trháním vlasů, pokud se zdá, že váš DB Mail ignoruje vaše pořadová čísla.

Umístění uložené procedury

Všimněte si, že sysmail_update_profileaccount_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.

Jak vrátit informace o účtu a profilu

Následující články poskytují pokyny pro vrácení informací o účtu a profilu.

  • Získejte seznam databázových poštovních účtů na serveru SQL Server
  • Vrátí seznam poštovních profilů databáze v SQL Server


  1. Poddotazy s EXISTS vs IN - MySQL

  2. Porovnat řetězce ignorující akcenty v SQL (ORACLE)

  3. SQL řádky do sloupců

  4. Jak zkontrolovat, zda sloupec existuje, než jej přidáte do existující tabulky v PL/SQL?