sql >> Database >  >> RDS >> Sqlserver

Zoek de associaties tussen database-e-mailaccounts en database-principals in SQL Server (T-SQL)

In SQL Server kunt u de sysmail_help_principalprofile_sp opgeslagen procedure op de msdb database om een ​​lijst op te halen van alle associaties tussen Database Mail-accounts en database-principals.

U kunt ook accountinformatie retourneren op basis van de hoofdnaam/ID of de profielnaam/ID.

Alle koppelingen retourneren

Om alle koppelingen terug te geven, voert u gewoon de opgeslagen procedure uit zonder parameters.

EXEC msdb.dbo.sysmail_help_principalprofile_sp;

Resultaat (met verticale uitvoer):

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

Ik heb de resultaten weergegeven met verticale uitvoer, zodat u niet zijwaarts hoeft te scrollen om alle kolommen te zien.

In mijn geval is er maar één associatie.

Merk op dat de sysmail_help_principalprofile_sp opgeslagen procedure staat in de msdb database en is eigendom van de dbo schema. Daarom moet u een driedelige naamgeving gebruiken als msdb is niet de huidige database.

Op basis van hoofdnaam/ID

U kunt het beperken tot slechts één principal door de principalnaam of -ID als parameter door te geven.

De hoofdnaam is de naam van de databasegebruiker of -rol in de msdb database.

Zo geeft u de hoofdnaam door:

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

En zo geeft u de hoofd-ID door:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25;

Merk op dat @principal_id wordt geleverd als een int .

Op basis van profielnaam/-ID

Als alternatief kunt u het beperken tot slechts één profiel door de profielnaam of ID als parameter door te geven.

Zo geeft u de profielnaam door:

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

En zo geeft u de profiel-ID door:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1;

Merk op dat @profile_id wordt geleverd als een int .


  1. Geef Dictionary<string,int> door aan de opgeslagen procedure T-SQL

  2. Hoe u een tabel in PostgreSQL kunt draaien

  3. Genereer n rijen NULL in PostgreSQL

  4. Zorg ervoor dat de cursor correct is geïnitialiseerd voordat u er gegevens van opent