sql >> Database >  >> RDS >> Sqlserver

Maak een lijst van de accounts die zijn gekoppeld aan een database-e-mailprofiel in SQL Server

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

Je kunt ook accountinformatie retourneren op basis van de accountnaam/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_profileaccount_sp;

Resultaat (met verticale uitvoer):

profile_id      | 1
profile_name    | DB Admin Profile
account_id      | 1
account_name    | DB Admin
sequence_number | 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, en dus wordt er maar één rij geretourneerd.

Merk op dat de sysmail_help_profileaccount_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 accountnaam/-ID

U kunt het beperken tot slechts één account door de accountnaam of ID als parameter door te geven.

De accountnaam is de naam van het account dat is aangemaakt met de sysmail_add_account_sp opgeslagen procedure in de msdb database.

Zo geeft u de accountnaam door:

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

En zo geeft u de ID door:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @account_id = 1;

Merk op dat @account_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_profileaccount_sp
    @profile_name = 'DB Admin Profile';

En zo geeft u de profiel-ID door:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @profile_id = 1;

Merk op dat @profile_id wordt geleverd als een int .


  1. Tips voor back-upbeheer voor TimescaleDB

  2. Verschil tussen VARCHAR2(10 CHAR) en NVARCHAR2(10)

  3. Webinar:bijhouden van queryvoortgang in SQL Server

  4. Dynamisch alternatief voor pivoteren met CASE en GROUP BY