Россия, г. Санкт-Петербург |
Лекция 31: Автоматизация административных задач
Использование Enterprise Manager для создания оповещения по состоянию производительности
Теперь мы используем Enterprise Manager для создания оповещения, которое будет запускаться при возникновении определенного состояния производительности. Отметим, что служба SQLServerAgent опрашивает счетчики производительности с 20-секундными интервалами, поэтому кратковременные пиковые или низкие нагрузки, возникающие между опросами, возможно, не будут обнаруживаться. Чтобы создать оповещение, выполните следующие шаги.
- В левой панели Enterprise Manager раскройте папку сервера, раскройте папку Management и затем раскройте папку SQL Server Agent. Щелкните правой кнопкой мыши на Alerts и выберите из контекстного меню пункт New Alert. Появится окно New Alert Properties (рис. 31.21). Во вкладке General в текстовом поле Name введите имя оповещения. (Для данного примера используйте user_alert.) Флажок Enabled (Активизировано) позволяет вам активизировать или деактивизировать это оповещение. Чтобы задать оповещение по состоянию производительности, выберите в раскрывающемся списке Type вариант SQL Server performance condition alert.
- В секции Performance condition alert definition (Определение оповещения по состоянию производительности) нужно определить состояние производительности, по которому будет запускаться это оповещение. Выберите в раскрывающемся списке Object (Объект) объект производительности SQL Server, который хотите использовать для запуска оповещения, и затем выберите в раскрывающемся списке Counter (Счетчик) нужный счетчик. Используйте поле Alert if counter (Оповещение в случае, если счетчик), чтобы указать, в какой ситуации должно запускаться оповещение. И, наконец, задайте пороговое значение (поле Value), переход которого будет приводить к запуску этого оповещения. На рис. 31.21 показаны параметры, используемые для запуска оповещения, когда счетчик SQL Server User Connections превышает значение 100.
- Чтобы завершить создание этого оповещения, задайте параметры на вкладке Response, как это описано на шаге 5 предыдущего раздела, щелкните на кнопке Apply и затем щелкните на кнопке OK.
Использование T-SQL для создания оповещения по событию или по состоянию производительности
Вы можете также использовать для создания оповещений T-SQL, но не забывайте, что если вы создаете оповещения с помощью Enterprise Manager, то можете затем генерировать для этих оповещений сценарии T-SQL. (Для этого щелкните правой кнопкой мыши на Alerts в папке SQL Server Agent, укажите в контекстном меню пункт All Tasks и затем выберите оператор Generate SQL Script.) Вероятно, использование Enterprise Manager вам покажется более легким для создания оповещений, поскольку для метода T-SQL требуется знать и помнить много необязательных параметров вместе с их значениями по умолчанию. Чтобы добавить оповещение с помощью T-SQL, нужно использовать хранимую процедуру sp_add_alert. Эта процедура используется для создания оповещений как по событию, так и по состоянию производительности. Тип создаваемого оповещения указывается соответствующим параметром. Процедура sp_add_alert имеет следующий синтаксис:
sp_add_alert [@name =] 'name' [, [@message_id =] message_id] [, [@severity =] severity] [, [@enabled =] enabled] [, [@delay_between_responses =] delay_between_responses] [, [@notification_message =] 'notification_message'] [, [@include_event_description_in =] include_event_description_in] [, [@database_name =] 'database'] [, [@event_description_keyword =] 'event_description_keyword_pattern'] [, {[@job_id =] job_id | [@job_name =] 'job_name'}] [, [@raise_snmp_trap =] raise_snmp_trap] [, [@performance_condition =] 'performance_condition'] [, [@category_name =] 'category']
Для модификации оповещения, просмотра информации оповещения и удаления оповещения используются соответственно хранимые процедуры sp_update_alert, sp_help_alert и sp_delete_alert. Напомним, что все эти хранимые процедуры находятся в базе данных msdb.
![](icon1.gif)