Datenbank-E-Mail und E-Mail-Warnungen mit dem SQL Server-Agent unter Linux
Gilt für: SQL Server – Linux
Dieser Artikel zeigen Ihnen, wie die Datenbank-E-Mail eingerichtet und mit dem SQL Server-Agent (mssql-server-agent) unter Linux verwendet wird.
1. Aktivieren von Datenbank-E-Mail
USE master;
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure 'Database Mail XPs', 1;
GO
RECONFIGURE;
GO
2. Erstellen eines neuen Kontos
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
3. Erstellen eines Standardprofils
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'default',
@description = 'Profile for sending Automated DBA Notifications';
GO
4. Hinzufügen des Kontos der Datenbank-E-Mail zu einem Datenbank-E-Mail-Profil
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'default',
@principal_name = 'public',
@is_default = 1;
GO
5. Hinzufügen eines Kontos zu einem Profil
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'default',
@account_name = 'SQLAlerts',
@sequence_number = 1;
GO
6. Senden einer Test-E-Mail
Möglicherweise müssen Sie zu Ihrem E-Mail-Client wechseln und die Option allow less secure clients to send mail (weniger sicheren Clients das Senden von E-Mails erlauben) aktivieren. Nicht alle Clients erkennen die Datenbank-E-Mail als E-Mail-Daemon.
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. Festlegen des Datenbank-E-Mail-Profils mithilfe der Umgebungsvariable mssql-conf
Sie können das Hilfsprogramm mssql-conf oder die Umgebungsvariablen verwenden, um Ihr Datenbank-E-Mail-Profi zu registrieren. Nennen wir in diesem Fall unser Profil default
.
Festlegen mit mssql-conf:
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile default
Legen Sie Umgebungsvariablen fest:
MSSQL_AGENT_EMAIL_PROFILE=default
8. Einrichten eines Operators für SQL Server-Agent-Auftragsbenachrichtigungen
EXEC msdb.dbo.sp_add_operator
@name = N'JobAdmins',
@enabled = 1,
@email_address = N'recipient-email@example.com',
@category_name = N'[Uncategorized]';
GO
9. Senden einer E-Mail, wenn der 'Agent Test Job' erfolgreich ist
EXEC msdb.dbo.sp_update_job
@job_name = 'Agent Test Job',
@notify_level_email = 1,
@notify_email_operator_name = N'JobAdmins'
GO