Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server sur Linux
L’article décrit comment configurer Database Mail et comment l’utiliser avec SQL Server Agent (mssql-server-agent) sur Linux.
1. Activer Database Mail
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXECUTE sp_configure 'Database Mail XPs', 1;
GO
RECONFIGURE;
GO
2. Créer un nouveau compte
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'SQLAlerts',
@description = 'Account for Automated DBA Notifications',
@email_address = 'sqlagenttest@example.com',
@replyto_address = 'sqlagenttest@example.com',
@display_name = 'SQL Agent',
@mailserver_name = 'smtp.example.com',
@port = 587,
@enable_ssl = 1,
@username = 'sqlagenttest@example.com',
@password = '<password>';
GO
Attention
Votre mot de passe doit respecter la stratégie de mot de passe par défaut de SQL Server. Par défaut, le mot de passe doit avoir au moins huit caractères appartenant à trois des quatre groupes suivants : lettres majuscules, lettres minuscules, chiffres de base 10 et symboles. Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.
3. Créer un profil par défaut
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'default',
@description = 'Profile for sending Automated DBA Notifications';
GO
4. Ajouter le compte Database Mail à un profil Database Mail
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'default',
@principal_name = 'public',
@is_default = 1;
GO
5. Ajouter un compte au profil
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'default',
@account_name = 'SQLAlerts',
@sequence_number = 1;
GO
6. Envoyer un e-mail de test
Vous devrez peut-être accéder à votre client de messagerie et activer Autoriser les clients moins sécurisés à envoyer des courriers. Tous les clients ne reconnaissent pas Database Mail comme un démon de messagerie.
EXECUTE msdb.dbo.sp_send_dbmail
@profile_name = 'default',
@recipients = 'recipient-email@example.com',
@subject = 'Testing DBMail',
@body = 'This message is a test for DBMail';
GO
7. Définir le profil Database Mail à l’aide de la variable d’environnement mssql-conf
Vous pouvez utiliser l’utilitaire mssql-conf ou les variables d’environnement pour inscrire votre profil Database Mail. Dans ce cas, appelons notre profil default par défaut.
Définition via mssql-conf :
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile defaultDéfinition via une variable d’environnement :
MSSQL_AGENT_EMAIL_PROFILE=default
8. Configurer un opérateur pour les notifications de travaux SQL Server Agent
EXECUTE msdb.dbo.sp_add_operator
@name = N'JobAdmins',
@enabled = 1,
@email_address = N'recipient-email@example.com',
@category_name = N'[Uncategorized]';
GO
9. Envoyer un e-mail lorsque le « travail de test de l’agent » a été correctement effectué
EXECUTE msdb.dbo.sp_update_job
@job_name = 'Agent Test Job',
@notify_level_email = 1,
@notify_email_operator_name = N'JobAdmins';
GO