Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Répertorier les comptes associés à un profil de messagerie de base de données dans SQL Server

Dans SQL Server, vous pouvez utiliser le sysmail_help_profileaccount_sp procédure stockée sur msdb base de données pour récupérer une liste de toutes les associations entre les comptes et les profils de messagerie de la base de données.

Vous pouvez également renvoyer les informations de compte en fonction du nom/ID du compte ou du nom/ID du profil.

Renvoyer toutes les associations

Pour renvoyer toutes les associations, exécutez simplement la procédure stockée sans aucun paramètre.

EXEC msdb.dbo.sysmail_help_profileaccount_sp;

Résultat (en utilisant la sortie verticale) :

profile_id      | 1
profile_name    | DB Admin Profile
account_id      | 1
account_name    | DB Admin
sequence_number | 1

J'ai répertorié les résultats en utilisant la sortie verticale afin que vous n'ayez pas à faire défiler latéralement pour voir toutes les colonnes.

Dans mon cas, il n'y a qu'une seule association, et donc une seule ligne est renvoyée.

Notez que le sysmail_help_profileaccount_sp la procédure stockée est dans le msdb base de données et appartient à dbo schéma. Par conséquent, vous devrez utiliser un nom en trois parties si msdb n'est pas la base de données actuelle.

Basé sur le nom/ID du compte

Vous pouvez le réduire à un seul compte en transmettant le nom ou l'ID du compte en tant que paramètre.

Le nom du compte est le nom du compte créé avec le sysmail_add_account_sp procédure stockée dans msdb base de données.

Voici comment transmettre le nom du compte :

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

Et voici comment transmettre l'ID :

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @account_id = 1;

Notez que @account_id est fourni sous la forme d'un int .

Basé sur le nom/l'ID du profil

Alternativement, vous pouvez le réduire à un seul profil en passant le nom ou l'ID du profil en tant que paramètre.

Voici comment transmettre le nom du profil :

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

Et voici comment transmettre l'ID de profil :

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @profile_id = 1;

Notez que @profile_id est fourni sous la forme d'un int .