sql >> Databasteknik >  >> RDS >> Sqlserver

Få en lista över databaspostkonton i SQL Server (T-SQL)

I SQL Server kan du använda sysmail_help_account_sp lagrad procedur på msdb databas för att hämta en lista över alla Databas Mail-konton.

Du kan också returnera kontoinformation baserat på dess kontonamn eller ID.

Exempel

Här är ett exempel att visa.

EXEC msdb.dbo.sysmail_help_account_sp;

Resultat (med vertikal utdata):

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

Jag har listat resultaten med vertikal utdata så att du inte behöver rulla i sidled för att se alla kolumner.

I mitt fall finns det bara ett Databas Mail-konto.

Observera att sysmail_help_account_sp lagrad procedur finns i msdb databasen, och den ägs av dbo schema. Därför måste du använda tredelarnas namngivning (som i mitt exempel) om msdb är inte den aktuella databasen.

Återställ bara ett konto

Även om jag bara har ett databas-e-postkonto på mitt system, här är ett exempel på hur man returnerar ett enda konto.

Som nämnts kan du använda kontonamnet eller dess ID. Här är ett exempel på hur du returnerar det med konto-ID:

EXEC msdb.dbo.sysmail_help_account_sp
    @account_id = 1;

Du måste ange konto-ID som en int .

Och här är ett exempel på att returnera den med namn:

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

Kontonamnet är sysname .

Kontot är inte giltigt?

Om du anger ett konto-ID som inte finns returneras följande fel:

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

Om du anger ett kontonamn som inte finns returneras följande fel:

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

  1. lagrade procedurer med sqlAlchemy

  2. Ta bort inledande nollor från varchar sql-utvecklare

  3. Hur man importerar CSV-fil i PostgreSQL

  4. Byt namn på tabeller på ett säkert sätt med seriella primärnyckelkolumner