Поделиться через


видны узлы

Область применения: SQL Server

Внимание

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.

События создаются SQL Server и вводятся в журнал приложений Microsoft Windows. агент SQL Server считывает журнал приложения и сравнивает события, записанные там, с оповещениями, определенными вами. Когда агент SQL Server находит совпадение, он вызывает оповещение, которое является автоматическим ответом на событие. Помимо мониторинга событий SQL Server, агент SQL Server также могут отслеживать условия производительности и события инструментария управления Windows (WMI).

Чтобы определить предупреждение, необходимо указать:

  • Имя предупреждения.

  • событие или условие производительности, по которому создается это предупреждение;

  • Действие, которое агент SQL Server принимает в ответ на событие или условие производительности.

Имена предупреждений

У каждого предупреждения должно быть имя. Имена оповещений должны быть уникальными в экземпляре SQL Server и не могут превышать 128 символов.

Выбор типа события

Предупреждение создается в ответ на событие определенного типа. В частности, на следующие типы события:

  • события SQL Server;

  • условия производительности SQL Server;

  • события инструментария WMI

Тип события определяет параметры, которые указываются для точного определения события.

Указание события SQL Server

Можно определить, чтобы предупреждение создавалось в ответ на одно или несколько событий. Для указания событий, по которым создается предупреждение, используются следующие параметры.

  • Номер ошибки

    агент SQL Server вызывает оповещение при возникновении определенной ошибки. Например, можно указать код ошибки 2571 для отслеживания попыток неавторизованного обращения к консольным командам базы данных (DBCC).

  • Степень серьезности

    агент SQL Server запускает оповещение при возникновении любой ошибки конкретной серьезности. Например, можно указать уровень серьезности 15 для обработки ошибок синтаксиса в инструкциях на языке Transact-SQL.

  • База данных

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

  • Текст события

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

Выбор условия производительности

Можно определить, чтобы предупреждение создавалось в ответ на определенное условие производительности. В этом случае указывается отслеживаемый счетчик производительности, порог предупреждения и действие, по которому предупреждение создается. Чтобы задать условие производительности, необходимо определить следующие элементы на странице агент SQL Server "Общие" диалогового окна "Новое оповещение" или в диалоговом окне "Свойства оповещения".

  • Объект

    Объект — область отслеживания производительности.

  • Счетчик

    Счетчик — атрибут отслеживаемой области.

  • Экземпляр

    Экземпляр SQL Server определяет конкретный экземпляр (если таковой) отслеживаемого атрибута.

  • Создать предупреждение, если счетчик: и Значение

    Пороговое значение и действие, по которому срабатывает предупреждение. Пороговое значение — число. Действие — одно из следующих значений: меньше, равноили больше по отношению к значению, указанному в поле "Значение". Значение — числовое значение счетчика условия производительности. Например, чтобы определить срабатывание предупреждения для объекта производительности SQLServer:Locks , если значение Время ожидания блокировки превышает 30 минут, необходимо выбрать больше и указать 30 в поле значения.

    Или, например, можно указать, что предупреждение срабатывает для объекта производительности SQLServer:Transactions , когда свободное место в базе данных tempdb становится меньше 1000 КБ. Для этого выберите счетчик Свободное пространство в tempdb (КБ), меньшеи введите 1000 в поле Значение.

    Примечание.

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

    Примечание.

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

Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.

Выбор события инструментария WMI

Можно указать, чтобы предупреждение создавалось в ответ на определенное событие инструментария WMI. Чтобы выбрать событие WMI, необходимо определить следующее на странице агент SQL Server "Общие" диалогового окна "Новое оповещение" или в диалоговом окне "Свойства оповещения".

  • Пространство имен

    агент SQL Server регистрируется в качестве клиента WMI в пространстве имен WMI, которое предоставляется для запроса событий.

  • Запрос

    агент SQL Server использует инструкцию языка запросов инструментария управления Windows (WQL), предоставляемую для идентификации конкретного события.

Ниже приведены ссылки на часто выполняемые задачи.

Создание предупреждения по номеру сообщения

Создание предупреждения по уровню серьезности

Создание предупреждения по событию инструментария WMI

Определение ответа на предупреждение

Создание сообщения об ошибке пользовательского события

Изменение сообщения об ошибке пользовательского события

Удаление сообщения об ошибке пользовательского события

Отключение или повторное включение предупреждения

См. также

Хранимая процедура sp_update_alert (Transact-SQL)