Megosztás:


Database Mail- és e-mail-riasztások linuxos SQL Server-ügynökkel

A következőkre vonatkozik:SQL Server Linux rendszeren

Ez a cikk bemutatja, hogyan állíthatja be és használhatja a Database Mail szolgáltatást linuxos SQL Server-ügynökkel (mssql-server-agent).

1. Adatbázisposta engedélyezése

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. Új fiók létrehozása

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

Figyelmeztetés

A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.

3. Alapértelmezett profil létrehozása

EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'default',
    @description = 'Profile for sending Automated DBA Notifications';
GO

4. Adja hozzá a Database Mail-fiókot egy Database Mail-profilhoz

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'default',
    @principal_name = 'public',
    @is_default = 1;
GO

5. Fiók hozzáadása a profilhoz

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'default',
    @account_name = 'SQLAlerts',
    @sequence_number = 1;
GO

6. Teszt e-mail küldése

Előfordulhat, hogy meg kell nyitnia az e-mail-kliensét, és engedélyeznie kell a kevésbé biztonságos ügyfelek számára e-mailek küldése opciót. Nem minden ügyfél ismeri fel a Database Mail-et e-mail démonként.

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. Database Mail-profil beállítása mssql-conf vagy környezeti változó használatával

Az mssql-conf segédprogrammal vagy környezeti változókkal regisztrálhatja adatbázis-levelezési profilját. Ebben az esetben nevezzük el a profilnak default.

  • Beállítás mssql-conf használatával:

    sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile default
    
  • Beállítás környezeti változóval:

    MSSQL_AGENT_EMAIL_PROFILE=default
    

8. Operátor beállítása az SQL Server-ügynök feladatértesítéseihez

EXECUTE msdb.dbo.sp_add_operator
    @name = N'JobAdmins',
    @enabled = 1,
    @email_address = N'recipient-email@example.com',
    @category_name = N'[Uncategorized]';
GO

9. Küldjön e-mailt, ha az ügynök tesztfeladata sikeres

EXECUTE msdb.dbo.sp_update_job
    @job_name = 'Agent Test Job',
    @notify_level_email = 1,
    @notify_email_operator_name = N'JobAdmins';
GO