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

Trova le associazioni tra account di posta elettronica database e entità database in SQL Server (T-SQL)

In SQL Server puoi usare sysmail_help_principalprofile_sp stored procedure su msdb database per recuperare un elenco di tutte le associazioni tra gli account di Posta elettronica database e le entità database.

Puoi anche restituire le informazioni sull'account in base al nome/ID principale o al nome/ID del profilo.

Restituisci tutte le associazioni

Per restituire tutte le associazioni è sufficiente eseguire la stored procedure senza alcun parametro.

EXEC msdb.dbo.sysmail_help_principalprofile_sp;

Risultato (usando l'output verticale):

principal_id   | 25
principal_name | Marge
profile_id     | 1
profile_name   | DB Admin Profile
is_default     | 1

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

Nel mio caso, c'è solo un'associazione.

Nota che il sysmail_help_principalprofile_sp la procedura memorizzata si trova in msdb database ed è di proprietà di dbo schema. Pertanto, dovrai utilizzare la denominazione in tre parti se msdb non è il database corrente.

In base al nome/ID principale

È possibile restringere il campo a un solo principale passando il nome o l'ID principale come parametro.

Il nome principale è il nome dell'utente del database o del ruolo in msdb banca dati.

Ecco come passare il nome principale:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_name = 'Marge';

Ed ecco come passare l'ID principale:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25;

Nota che @principal_id viene fornito come int .

In base al nome/ID profilo

In alternativa, puoi restringere il campo a un solo profilo passando il nome del profilo o l'ID come parametro.

Ecco come passare il nome del profilo:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_name = 'DB Admin Profile';

Ed ecco come passare l'ID profilo:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1;

Nota che @profile_id viene fornito come int .