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

Créer un compte de messagerie de base de données dans SQL Server (T-SQL)

Si vous configurez Database Mail pour envoyer des e-mails dans SQL Server, vous devez disposer d'au moins un compte Database Mail.

Vous pouvez créer des comptes de messagerie de base de données avec T-SQL en exécutant le sysmail_add_account_sp procédure stockée dans msdb base de données.

Le compte Database Mail est le compte qui envoie l'e-mail. Par exemple, si vous avez un e-mail automatisé qui est envoyé chaque fois qu'un travail de l'Agent SQL Server échoue, il s'agit du compte qui envoie cet e-mail.

Vous pouvez également spécifier des éléments tels qu'un e-mail de « réponse » séparé, un nom d'affichage, etc.

Vous pouvez avoir plusieurs comptes pour diverses tâches si nécessaire. Exécutez simplement sysmail_add_account_sp chaque fois que vous devez créer un nouveau compte.

Exemple

Voici un exemple de création d'un compte de messagerie de base de données.

EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'DB Admin',  
    @description = 'Mail account for admin emails.',  
    @email_address = '[email protected]',  
    @replyto_address = '[email protected]',  
    @display_name = 'DB Automated Mailer',  
    @mailserver_name = 'smtp.example.com',
    @port = 25;

Dans cet exemple, je spécifie un nom d'affichage de "DB Automated Mailer". Il s'agit d'un nom convivial transmis au destinataire qui a envoyé l'e-mail. Vous pouvez utiliser "SQL Server Agent" ou similaire, selon votre configuration.

La syntaxe

L'exemple ci-dessus n'inclut pas toutes les options disponibles.

La syntaxe officielle ressemble à ceci :

sysmail_add_account_sp  [ @account_name = ] 'account_name',  
    [ @email_address = ] 'email_address' ,  
    [ [ @display_name = ] 'display_name' , ]  
    [ [ @replyto_address = ] 'replyto_address' , ]  
    [ [ @description = ] 'description' , ]  
    [ @mailserver_name = ] 'server_name'   
    [ , [ @mailserver_type = ] 'server_type' ]  
    [ , [ @port = ] port_number ]  
    [ , [ @username = ] 'username' ]  
    [ , [ @password = ] 'password' ]  
    [ , [ @use_default_credentials = ] use_default_credentials ]  
    [ , [ @enable_ssl = ] enable_ssl ]  
    [ , [ @account_id = ] account_id OUTPUT ]

Consultez la documentation de Microsoft pour une explication détaillée de chaque argument. Vous pouvez utiliser les arguments qui conviennent à votre situation.

Vous pouvez également utiliser le sysmail_update_account_sp procédure stockée pour mettre à jour un compte de messagerie de base de données existant.

Configuration de la messagerie de base de données

La création d'un compte de messagerie de base de données n'est qu'une des nombreuses choses que vous devez faire avant de pouvoir envoyer des e-mails avec ce compte.

Une fois que vous avez créé le compte, vous devrez l'ajouter à un profil (ce qui signifie que vous devrez également créer un profil si vous n'en avez pas déjà un). Vous devrez également accorder un utilisateur dans le msdb accès à la base de données du profil.

Voir Comment envoyer un e-mail dans SQL Server pour un exemple complet de configuration de la messagerie de base de données, puis d'envoi d'un e-mail.