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