Published on

November 19, 2021

Как устранить проблемы с уведомлениями о заданиях SQL Server Agent

Проблема:

Недавно мы столкнулись с ситуацией, когда одно из наших важных заданий SQL Server Agent не смогло отправить уведомление в нашей рабочей среде. Это задание отвечает за подачу данных нашему финансовому приложению, которое является важным для отслеживания текущих тенденций. Нам необходимо определить причину этой проблемы.

Решение:

Для решения этой проблемы мы выполнили следующие шаги:

Шаг 1 – Проверка почты SQL Server Database Mail

Первый шаг – протестировать, может ли система отправлять электронные письма с использованием профиля Database Mail в SQL Server Management Studio. Для этого перейдите в раздел “Управление” > “Database Mail”, щелкните правой кнопкой мыши на “Database Mail” и выберите опцию “Отправить тестовое письмо…”. В интерфейсе выберите правильный профиль Database Mail, введите адрес электронной почты получателя, тему и текст сообщения, а затем нажмите кнопку “Отправить тестовое письмо”. Если тест прошел успешно, это указывает на то, что включена очередь ExternalMailQueue и нет проблемы с блокировкой порта SMTP правилом брандмауэра. Вы можете использовать следующий код, чтобы проверить, включена ли внешняя почтовая очередь:

SELECT * FROM msdb.sys.service_queues
WHERE name = N'ExternalMailQueue'

Шаг 2 – Проверка оператора SQL Server

Если тест Database Mail прошел успешно, следующим шагом является проверка, был ли оператор удален из SQL Server Agent. Перейдите в раздел “SQL Server Agent” > “Операторы” в SQL Server Management Studio. Если оператор все еще присутствует и его свойства указаны правильно, то это не является корневой причиной проблемы.

Шаг 3 – Проверка профиля почты SQL Server Agent

Если предыдущие шаги не выявили проблему, вероятно, она связана с SQL Server Agent. Проверьте свойства SQL Server Agent, щелкнув правой кнопкой мыши на SQL Server Agent в SQL Server Management Studio и выбрав опцию “Свойства”. Перейдите на вкладку “Система оповещений” и просмотрите свойства. В нашем случае мы обнаружили, что профиль Database Mail не был включен для SQL Server Agent.

Шаг 4 – Включение профиля почты в SQL Server Agent

Для решения этой проблемы установите флажок “Включить профиль почты” и выберите систему почты и профиль почты в интерфейсе. В качестве альтернативы вы можете использовать следующую команду для включения профиля Database Mail для SQL Server Agent:

USE [msdb]
GO
EXEC msdb.dbo.sp_set_sqlagent_properties
     @email_save_in_sent_folder=1,
     @databasemail_profile=N'DBAxxxxx', -- укажите здесь свой профиль почты базы данных
     @use_databasemail=1
GO

Шаг 5 – Перезапуск SQL Server Agent

После включения профиля Database Mail рекомендуется перезапустить службу SQL Server Agent. Это гарантирует, что изменения вступят в силу. Вы можете протестировать уведомление, запустив задание, которое включает уведомление. В нашем случае мы протестировали уведомление без перезапуска службы.

Следуя этим шагам, вы можете устранить проблемы с уведомлениями о заданиях SQL Server Agent и убедиться, что важные уведомления отправляются, как ожидается.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.