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

Získejte seznam databázových poštovních účtů v SQL Server (T-SQL)

V SQL Server můžete použít sysmail_help_account_sp uložená procedura na msdb databáze pro načtení seznamu všech účtů Database Mail.

Můžete také vrátit informace o účtu na základě názvu účtu nebo ID.

Příklad

Zde je příklad k demonstraci.

EXEC msdb.dbo.sysmail_help_account_sp;

Výsledek (při použití vertikálního výstupu):

account_id              | 1
name                    | DB Admin
description             | Mail account for admin emails.
email_address           | [email protected]
display_name            | DB Automated Mailer
replyto_address         | [email protected]
servertype              | SMTP
servername              | smtp.example.com
port                    | 25
username                | NULL
use_default_credentials | 0
enable_ssl              | 0

Výsledky jsem uvedl pomocí vertikálního výstupu, abyste nemuseli posouvat do stran, abyste viděli všechny sloupce.

V mém případě existuje pouze jeden účet Database Mail.

Všimněte si, že sysmail_help_account_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í (jako v mém příkladu), pokud msdb není aktuální databáze.

Vraťte pouze jeden účet

I když mám ve svém systému pouze jeden databázový poštovní účet, zde je příklad, jak vrátit jeden účet.

Jak již bylo zmíněno, můžete použít název účtu nebo jeho ID. Zde je příklad vrácení podle ID účtu:

EXEC msdb.dbo.sysmail_help_account_sp
    @account_id = 1;

Musíte zadat ID účtu jako int .

A zde je příklad vrácení podle jména:

EXEC msdb.dbo.sysmail_help_account_sp
    @account_name = 'DB Admin';

Název účtu je sysname .

Není účet platný?

Pokud zadáte ID účtu, které neexistuje, vrátí se následující chyba:

Msg 14606, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 33
account id is not valid

Zadání názvu účtu, který neexistuje, vrátí následující chybu:

Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 42
account name is not valid

  1. Jak převést hodnoty řádků na sloupce s počtem dynamických sloupců?

  2. dotaz mysql zobrazí více tabulek z jednoho sloupce ID

  3. OracleDataSource vs. Oracle UCP PoolDataSource

  4. Čárky v datech CSV