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