Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Suchen der Zuordnungen zwischen Datenbank-E-Mail-Konten und Datenbankprinzipalen in SQL Server (T-SQL)

In SQL Server können Sie sysmail_help_principalprofile_sp verwenden gespeicherte Prozedur in der msdb Datenbank, um eine Liste aller Zuordnungen zwischen Datenbank-E-Mail-Konten und Datenbankprinzipalen abzurufen.

Sie können Kontoinformationen auch basierend auf dem Namen/der ID des Prinzipals oder dem Namen/der ID des Profils zurückgeben.

Alle Zuordnungen zurückgeben

Um alle Zuordnungen zurückzugeben, führen Sie einfach die gespeicherte Prozedur ohne Parameter aus.

EXEC msdb.dbo.sysmail_help_principalprofile_sp;

Ergebnis (bei vertikaler Ausgabe):

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

Ich habe die Ergebnisse mit vertikaler Ausgabe aufgelistet, damit Sie nicht seitwärts scrollen müssen, um alle Spalten zu sehen.

In meinem Fall gibt es nur eine Assoziation.

Beachten Sie, dass die Datei sysmail_help_principalprofile_sp gespeicherte Prozedur befindet sich in der msdb Datenbank und gehört dem dbo Schema. Daher müssen Sie eine dreiteilige Benennung verwenden, wenn msdb ist nicht die aktuelle Datenbank.

Basierend auf Prinzipalname/ID

Sie können es auf nur einen einzelnen Prinzipal eingrenzen, indem Sie den Namen oder die ID des Prinzipals als Parameter übergeben.

Der Prinzipalname ist der Name des Datenbankbenutzers oder der Rolle in der msdb Datenbank.

So übergeben Sie den Prinzipalnamen:

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

Und so übergeben Sie die Prinzipal-ID:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25;

Beachten Sie, dass @principal_id wird als int bereitgestellt .

Basierend auf Profilname/ID

Alternativ können Sie es auf ein einzelnes Profil eingrenzen, indem Sie den Profilnamen oder die ID als Parameter übergeben.

So übergeben Sie den Profilnamen:

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

Und so übergeben Sie die Profil-ID:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1;

Beachten Sie, dass @profile_id wird als int bereitgestellt .