Подтвердить что ты не робот

Работа агента SQL Server Уведомить нескольких операторов о сбое

У меня есть настройка Job в SQL Server 2008, которая отправляет уведомление по электронной почте оператору one при неудачном выполнении задания.

Вопрос: Возможно ли настроить отправку уведомления нескольким операторам для этого конкретного задания?

Я считаю, что возможное обходное решение для этого - создать множество предупреждений для базы данных для каждой конкретной серьезности, но я надеялся, что существует более сжатый способ сделать это. Если бы я шел по этому маршруту, какие ошибки серьезности могли бы быть вызваны неудачной работой? (Я не думаю, что мне понадобится все 25 для чего-то подобного)

Можно ли это сделать с помощью команды sql, чтобы добавить больше операторов для уведомления об отказе? Благодаря пользовательскому интерфейсу вы можете выбрать только один оператор.

4b9b3361

Ответ 1

Я не считаю, что это возможно.

Конечно, глядя на структуру [msdb].[dbo].[sysjobs], в этой таблице находятся различные столбцы operator_id, которые будут поддерживать идею о том, что 1 для многих невозможно.

Вы можете создать новый оператор с ограниченным списком адресов электронной почты, разделенным запятыми. Рассматривая определение sysoperators, это полезно для строк, которые могут поместиться в nvarchar(100), если вам нужно превысить то, что вы, вероятно, могли бы настроить группу электронной почты на обмен или что-то еще.

Ответ 2

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

Я предполагаю, что ваш уведомленный оператор называется JobWatcher:

EXECUTE msdb.dbo.sp_update_operator
  @name = N'JobWatcher',
  @email_address = N'[email protected];[email protected]';

Теперь [email protected] и [email protected] получат почту при неудачном выполнении задания.

Ответ 3

Простейший метод, используемый для уведомления нескольких "OPERATORS" на "JOB FAILURE", заключается в следующем:

В SSMS>SQL Server Agent>Operators создайте новый OPERATOR или EDIT существующий и добавьте дополнительные адреса электронной почты, разделенные ; в "E-mail name:".

Ответ 4

Лучшей практикой будет создание группы на вашем почтовом сервере, отправка уведомлений в группу и последующее управление количеством получателей с почтового сервера.

Ответ 5

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

Вы заметите, что этапы 1-3 - это обычные задачи, которые задание расписания использует, как и для вашей задачи. Там может быть столько шагов, сколько необходимо, до этого, но на последнем шаге (этап 3) процесса необходимо сломать "On Success" и "On Failure", чтобы перейти в отдельные электронные письма. Кроме того, все "On Failures" должны продолжить вашу "Отказ электронной почты", как указано ниже. Таким образом, группа Failure получает там электронные письма, и работа по-прежнему не выполняется для исторических записей.

1.1

Появится возможность изменить направление действия "Вкл. действия" и "Включение сбоя" на вкладке "Дополнительно" на шагах задания.

2

Отказ по электронной почте - общее свойство

3

Отказоустойчивость по умолчанию для электронной почты

4

Успех электронной почты Шаг - общее свойство

5

Успешная пошаговая функция перехода по электронной почте

6

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