Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Ottieni un elenco di account di posta del database in SQL Server (T-SQL)

In SQL Server puoi utilizzare sysmail_help_account_sp stored procedure su msdb database per recuperare un elenco di tutti gli account di posta elettronica database.

Puoi anche restituire le informazioni sull'account in base al nome o all'ID dell'account.

Esempio

Ecco un esempio da dimostrare.

EXEC msdb.dbo.sysmail_help_account_sp;

Risultato (usando l'output verticale):

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

Ho elencato i risultati utilizzando l'output verticale in modo da non dover scorrere lateralmente per vedere tutte le colonne.

Nel mio caso, c'è un solo account di posta elettronica database.

Nota che il sysmail_help_account_sp la procedura memorizzata si trova in msdb database ed è di proprietà del dbo schema. Pertanto, dovrai utilizzare la denominazione in tre parti (come nel mio esempio) se msdb non è il database corrente.

Restituisci un solo account

Anche se ho un solo account di posta del database sul mio sistema, ecco un esempio di come restituire un singolo account.

Come accennato, puoi utilizzare il nome dell'account o il suo ID. Ecco un esempio di restituzione tramite ID account:

EXEC msdb.dbo.sysmail_help_account_sp
    @account_id = 1;

Devi fornire l'ID account come int .

Ed ecco un esempio di come restituirlo per nome:

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

Il nome dell'account è sysname .

Account non valido?

Fornire un ID account che non esiste restituisce il seguente errore:

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

Fornire un nome account che non esiste restituisce il seguente errore:

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