Как сделать

Отправка автоматических уведомлений о заданиях по электронной почте на 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 здесь .

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone