Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5820 / 381 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00

Лекция 31: Автоматизация административных задач

Операторы

Операторы – это отдельные люди, которые могут получать уведомление от SQL Server по завершении какого-либо задания или при возникновении какого-либо события. Оператор – это человек, ответственный за обслуживание одной или нескольких систем, на которых работает SQL Server. Вы уже знаете, как определять сообщение уведомления, которое будет отправляться оператору. Как уже говорилось, имеется три метода, используемых для связи с операторами: отправка сообщений электронной почты, отправка на пейджер и использование команды NET SEND (которая отправляет сетевое сообщение на компьютер оператора.) Чтобы можно было применять каждый из этих методов, ваша система должна отвечать определенным требованиям. Для связи через электронную почту и с пейджером вы должны инсталлировать на сервере совместимый с MAPI-1 клиент ("MAPI" означает "Messaging API" – интерфейс прикладного программирования для сообщений), такой как Microsoft Outlook или Microsoft Exchange Client, и должны создать почтовый профиль для службы SQLServerAgent. Для пейджинговой связи вам нужно также инсталлировать на почтовом сервере программное обеспечение сторонних фирм для связи электронной почты с пейджером, которое обрабатывает входные сообщения электронной почты и преобразует их в пейджинговые сообщения. Чтобы использовать NET SEND, у вас должна работать операционная система Windows NT или Windows 2000, поскольку NET SEND не поддерживается в Microsoft Windows 95/98.

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

Вы должны определить каждого оператора в SQL Server. Вы можете создать несколько операторов для разделения между ними обязанностей, а также резервного оператора, который получит уведомление, когда недоступны другие операторы (например, когда не проходит сообщение на пейджер). Вы можете создать оператора с помощью Enterprise Manager, T-SQL или SQL-DMO. Мы рассмотрим в этом разделе использование Enterprise Manager и T-SQL; метод SQL-DMO выходит за рамки материала этой книги.

Использование Enterprise Manager для создания оператора

Чтобы создать оператора с помощью Enterprise Manager, выполните следующие шаги.

  1. В левой панели Enterprise Manager раскройте папку сервера, раскройте папку Management и затем раскройте папку SQL Server Agent. Щелкните правой кнопкой мыши на Operators и выберите из контекстного меню пункт New Operator, чтобы появилось окно New Operator Properties (Свойства нового оператора) (рис. 31.22). Во вкладке General введите имя нового оператора и затем заполните все или некоторые из следующих данных: адрес электронной почты этого оператора, адрес пейджера и адрес для команды NET SEND.
    Вкладка General окна New Operator Properties (Свойства нового оператора)

    Рис. 31.22. Вкладка General окна New Operator Properties (Свойства нового оператора)
    Если вы ввели адрес пейджера, то можете задать в секции Pager on duty schedule (Расписание дежурства на пейджере) дни и периоды времени, когда можно отправлять сообщения этому оператору. Например, если у вас несколько операторов, то вы можете разделять между ними время работы, когда один оператор получает сообщения на пейджер в понедельник, среду и пятницу, а второй – во вторник, четверг и субботу.
  2. Щелкните на вкладке Notifications. Если щелкнуть на кнопке выбора Alerts (в верхнем правом углу), то появится список существующих оповещений (рис. 31.23). Устанавливая флажки в соответствующих колонках, вы можете задавать, по каким оповещениям нужно уведомлять этого оператора и какой метод связи будет для этого использоваться.
     Вкладка Notifications окна New Operator Properties со списком оповещений

    Рис. 31.23. Вкладка Notifications окна New Operator Properties со списком оповещений
  3. При создании нового оператора кнопка выбора Jobs для вас недоступна, так как нет таких заданий, которые бы уведомляли нового оператора, поскольку новый оператор еще не создан. Чтобы новый оператор не получал уведомлений, сбросьте флажок Operator is available to receive notifications (Оператор доступен для получения уведомлений). Отключение этой возможности позволяет вам временно приостанавливать отправку уведомлений оператору, например, когда данный оператор в отпуске. Вы можете затем снова активизировать отправку уведомлений, повторно установив этот флажок, когда оператор вернется к работе.
  4. Щелкните на кнопке Send E-mail (Отправить электронную почту), чтобы создать тестовое сообщение для отправки оператору, представленному во вкладке General. (Вы получите сообщение об ошибке, если не указали адрес электронной почты во вкладке General.) Затем вы можете отправить сообщение электронной почты, в котором описываются типы уведомлений, заданные для этого оператора. Внизу вкладки Notifications вы увидите информацию о последних попытках уведомлений этому оператору по типам используемых средств отправки.
Использование T-SQL для создания оператора

Команды T-SQL, используемые для создания оператора, модифицирования информации об операторе, просмотра информации об операторе и удаления оператора, – это соответствующие хранимые процедуры, находящиеся в базе данных msdb: sp_add_operator, sp_update_operator, sp_help_operator и sp_delete_operator. И здесь вы увидите, что вам легче использовать Enterprise Manager. Вы можете генерировать сценарии T-SQL после того, как создали оператора с помощью Enterprise Manager:

Ниже представлен синтаксис sp_add_operator:

sp_add_operator [@name =] 'name' 
[, [@enabled =] enabled] 
[, [@email_address =] 'email_address'] 
[, [@pager_address =] 'pager_address'] 
[, [@weekday_pager_start_time =] weekday_pager_start_time] 
[, [@weekday_pager_end_time =] weekday_pager_end_time] 
[, [@saturday_pager_start_time =] saturday_pager_start_time] 
[, [@saturday_pager_end_time =] saturday_pager_end_time] 
[, [@sunday_pager_start_time =] sunday_pager_start_time] 
[, [@sunday_pager_end_time =] sunday_pager_end_time] 
[, [@pager_days =] pager_days] 
[, [@netsend_address =] 'netsend_address'] 
[, [@category_name =] 'category']
Дополнительная информация. Чтобы получить подробное описание параметров хранимых процедур, перечисленных в этом разделе, найдите имя соответствующей хранимой процедуры в индексе Books Online.