Отправка автоматических уведомлений о заданиях по электронной почте на SQL Server по SMTP

Когда у вас есть автоматизированные задания резервного копирования, запущенные на сервере базы данных, иногда вы забываете, что они даже выполняются. Затем вы забыли проверить, успешно ли они работают, и не узнаете, пока ваша база данных не выйдет из строя, и вы не сможете восстановить ее, поскольку у вас нет текущей резервной копии.

Именно здесь приходят уведомления по электронной почте, поэтому вы можете видеть статус работы каждое утро, когда вы потягиваете кофе и притворяетесь, что работаете.

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

Загрузите хранимую процедуру sp_SQLNotify здесь.

Вы захотите отредактировать одну строку в хранимой процедуре, чтобы указать IP-адрес вашего SMTP-сервера:

EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields (« http://schemas.microsoft.com/cdo/configuration/smtpserver »). Значение, ’10 .1.1.10’

Установите хранимую процедуру в основную базу данных, чтобы ее можно было легко использовать из любого места.

Откройте список SQL Server Agent \ Jobs и выберите свойства для задания, для которого вы пытаетесь создать уведомление:

Нажмите на вкладку Шаги, и вы должны увидеть экран, который выглядит следующим образом:

Нажмите кнопку «Создать», чтобы создать новый шаг задания. Мы будем использовать этот шаг, чтобы отправить уведомление по электронной почте об успехе.

Имя шага: Успешное уведомление по электронной почте

Введите этот SQL в окно команд, как показано ниже. Вы хотите настроить адреса электронной почты и тему сообщения в соответствии с вашей средой:

exec master.dbo.sp_SQLNotify «server@localserver.com», «admin@localserver.com», «Задание резервного копирования успешно», «Задание резервного копирования успешно выполнено»

Нажмите OK, а затем снова нажмите кнопку New, чтобы создать еще один шаг. Это будет этап уведомления об ошибке.

Имя шага: Сбой уведомления по электронной почте

SQL:

exec master.dbo.sp_SQLNotify «server@localserver.com», «admin@localserver.com», «Ошибка задания резервного копирования», «Ошибка задания резервного копирования»

Теперь идея состоит в том, чтобы заставить элементы следовать определенному рабочему процессу. Сначала нажмите «Изменить» на шаге 1 и установите свойства, как показано здесь:

Мы говорим, что в случае успеха перейдите к шагу успеха, а в случае неудачи перейдите к шагу неудачи. Довольно простые вещи.

Теперь отредактируйте второй шаг, помеченный как «Успешное уведомление по электронной почте», и установите свойства, как показано здесь:

Мы говорим, что если задание на уведомление успешно выполнено, просто выйдите из задания, не выполняя шаг 3. Если мы не укажем это, то получим два электронных письма, одно с успехом, а другое с ошибкой.

Теперь отредактируйте третий шаг, помеченный «Ошибка уведомления по электронной почте», и установите свойства, как показано здесь:

Теперь ваши рабочие шаги должны выглядеть так:

Теперь у вас должны быть уведомления по электронной почте в вашем почтовом ящике для успеха или неудачи.

Примечание. Хранимая процедура, использованная в этой статье, была найдена здесь, хотя это может быть и не первоисточник.

Загрузите хранимую процедуру sp_SQLNotify здесь.

Оцените статью
TutoryBird.Ru
Добавить комментарий