Назад | Перейти на главную страницу

Может ли Sql Server отправить уведомление по электронной почте, если возникла ошибка RAISEERROR?

можно ли заставить Sql Server 2008 отправлять электронное письмо при запросе RAISEERROR выбрасывается .. или, по крайней мере, когда возникает ошибка RAISEERROR с заранее заданным кодом или кодами ошибки?

Вы связываете «предупреждение» агента SQL для обнаружения ошибки, которое затем отправляет электронное письмо «оператору» или выполняет задание.

Ты используешь sp_add_alert но основная информация здесь: Мониторинг и реакция на события

Да, вы можете установить блок try / catch и отправить электронное письмо с помощью почты базы данных. Это будет примерно так:

BEGIN TRY
   [...statement(s)...]
END TRY
BEGIN CATCH
   EXEC sp_send_dbmail @profile_name='MyProfile',
      @recipients='recipient@mydomain.com',
      @subject='Query Error',
      @body='An error occurred during execution of a statement.'
END CATCH

Вы можете использовать @@ Error в блоке CATCH, чтобы определить конкретный уровень возникшей ошибки.

Подробнее о Заявление TRY / CATCH
Вот больше о Почта базы данных SQL Server 2008