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

Ajouter un compte de messagerie de base de données à un profil (T-SQL)

Dans SQL Server, Database Mail utilise des profils pour envoyer l'e-mail plutôt que des comptes directement.

Par conséquent, vous devez d'abord créer un profil et créer un compte, puis ajouter le compte au profil. Vous devez également accorder un utilisateur dans le msdb accès à la base de données du profil.

Pour ajouter un compte de messagerie de base de données à un profil avec T-SQL, utilisez le sysmail_add_profileaccount_sp procédure stockée dans msdb base de données.

Exemple

Voici un exemple d'ajout d'un compte de messagerie de base de données à un profil de messagerie de base de données à l'aide de T-SQL.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin',  
    @sequence_number = 1;

Dans ce cas, j'ajoute le compte "DB Admin" au profil "DB Admin Profile".

Cela suppose que le profil et le compte existent déjà.

Vous pouvez ajouter plusieurs comptes à un profil de messagerie de base de données. Le numéro de séquence détermine l'ordre dans lequel les comptes sont utilisés dans le profil. La messagerie de base de données commence par le compte qui a le numéro de séquence le plus bas. Si ce compte échoue, le compte avec le numéro de séquence le plus élevé suivant est utilisé, et ainsi de suite.

S'il existe plusieurs comptes avec le même numéro de séquence, Database Mail n'utilisera qu'un seul de ces comptes pour un message électronique donné.

Cependant, rien ne garantit que le même compte sera utilisé pour les messages suivants. Par exemple, si deux comptes partagent un numéro de séquence de 1, vous pouvez recevoir des e-mails d'un compte et d'autres de l'autre compte.

Spécifier les identifiants de compte/profil

Vous pouvez également spécifier l'ID de profil et/ou l'ID de compte au lieu de leurs noms.

Par conséquent, nous pourrions modifier l'exemple précédent pour qu'il ressemble à ceci :

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_id = 1,  
    @account_id = 1,  
    @sequence_number = 1;

Cela suppose évidemment que ce sont les identifiants des comptes en question.

Notez que le nom ou l'ID doit être fourni.

De plus, lorsque vous fournissez les identifiants, ils sont fournis sous la forme int .

Notez que le sysmail_add_profileaccount_sp la procédure stockée est dans le msdb base de données, et elle appartient au dbo schéma. Par conséquent, vous devrez utiliser un nommage en trois parties si vous l'exécutez depuis l'extérieur de msdb base de données.