Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server в Linux
В этой статье показано, как настроить компонент Database Mail и использовать его с агент SQL Server (mssql-server-agent) в Linux.
1. Включение компонента 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. Создание учетной записи
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
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
3. Создание профиля по умолчанию
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'default',
@description = 'Profile for sending Automated DBA Notifications';
GO
4. Добавление учетной записи Database Mail в профиль Database Mail
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'default',
@principal_name = 'public',
@is_default = 1;
GO
5. Добавление учетной записи в профиль
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'default',
@account_name = 'SQLAlerts',
@sequence_number = 1;
GO
6. Отправка тестового сообщения электронной почты
Возможно, вам придется перейти к клиенту электронной почты и разрешить менее безопасные клиенты отправлять почту . Не все клиенты распознают Database Mail в качестве управляющей программы электронной почты.
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 с помощью mssql-conf или переменной среды
Вы можете использовать служебную программу mssql-conf или переменные среды для регистрации профиля Database Mail. В этом случае давайте вызовем наш профиль default.
Установите с помощью mssql-conf:
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile defaultЗадать с помощью переменной среды:
MSSQL_AGENT_EMAIL_PROFILE=default
8. Настройка оператора для уведомлений о задании агент SQL Server
EXECUTE msdb.dbo.sp_add_operator
@name = N'JobAdmins',
@enabled = 1,
@email_address = N'recipient-email@example.com',
@category_name = N'[Uncategorized]';
GO
9. Отправка сообщения электронной почты при успешном выполнении задания агента
EXECUTE msdb.dbo.sp_update_job
@job_name = 'Agent Test Job',
@notify_level_email = 1,
@notify_email_operator_name = N'JobAdmins';
GO