Главная » Microsoft SQL Server, Базы данных » Управление предупреждениями

0

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

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

Puc. 38.5. SQL Server при установке поддержки репликации предлагает по умолчанию некоторые предупреждения

Создание сообщений об ошибках, определенных пользователем

Если вы внедряете пользовательские приложения, использующие SQL Server в качестве хранилища данных, то можете определить собственный набор ошибок. Для выполнения этой задачи используется команда sp_addmessage. Вы должны передать этой команде номер ошибки (в диапазоне от 50 001 до 2 147 483 647), ее уровень строгости (число от 1 до 25), а также текст сообщения. Эта команда также принимает в качестве аргумента идентификатор языка, установленного на сервере (например, English). По умолчанию используется язык, предопределенный в региональных настройках операционной системы. Также следует определить, нужно ли записывать данное сообщение об ошибке в журнал событий Windows (по умолчанию эта запись отключена). В заключение следует переопределить отображаемое сообщение. Если вы попытаетесь создать сообщение с уже существующим номером и при этом не укажете ключевое слово REPLACE, то система выдаст сообщение об ошибке с номером 15043, информирующее о необходимости использования этого ключевого слова при замене существующего сообщения новым.

I Для получения списка ошибок, поддерживаемых SQL Server, создайте запрос к

SVS представлению каталога sysmessages. Если вы хотите просмотреть только I * пользовательские сообщения, то установите фильтр еггог>50000. Вы можете

            ‘ также отфильтровать сообщения по строгости и идентификатору языка. Если

сообщение об ошибке записывается в журнал событий Windows, то его поле dlevel имеет значение 128.

Приведем пример использования команды sp_addmessage: sp_addmessage 50001, 1, ‘Тестовое сообщение.';

В данном случае мы добавили новое сообщение с номером ошибки 50001. Строгость этой ошибки равна единице, и отображается текст “Тестовое сообщение”. Система не зарегистрирует это сообщение в журнале событий Windows и будет использовать язык, установленный по умолчанию. Теперь предположим, что вы решили записать сообщение в журнал событий Windows. В этом случае команда примет следующий вид:

sp_addmessage 50001, 1, ‘Тестовое сообщение.’, ‘Russian’, True,

REPLACE;

Обратите внимание на то, что теперь в команде явно указан язык сообщения. Значение True указывает системе записывать сообщение в журнал событий Windows. К тому же в команду было включено слово REPLACE, так как данное сообщение замещает уже существующее.

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

Создание предупреждения

Вы можете создать два типа предупреждений. Первый тип инициируется номером ошибки или при достижении ею определенной строгости; второй — счетчиком производительности SQL Server. Вот как настроить оба этих типа предупреждений.

1.              Запустите SQL Server Management Studio.

2.              Щелкните правой кнопкой мыши на папке SQL Server Agent\Alerts и выберите в контекстном меню пункт New Alert. Откроется диалоговое окно создания нового предупреждения, показанное на рис. 38.6.

3.              Введите имя предупреждения. Поскольку предупреждение может касаться одной или нескольких баз данных и определяться любым количеством условий или состояний,

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

следует подойти к выбору имени со всей серьезностью. Используйте ключевые слова, позволяющие автоматически идентифицировать ошибку. Например, вы можете использовать в качестве имени “Event:Northwind:Severity Level 16”.

4.              В списке Туре выберите тип создаваемого предупреждения. Это может быть предупреждение о событии SQL Server (вызываемое номером ошибки или ее строгостью), предупреждение, реагирующее на определенные значения счетчиков производительности SQL Server, а также предупреждение интерфейса управления WMI операционной системы. На рис. 38.7 показаны значения, соответствующие созданию предупреждения счетчика производительности. В данном случае предупреждение будет инициироваться при превышении журналом транзакций размера в 2000 Кбайт (или 2 Мбайт). С помощью этой методики можно получить доступ к любому счетчику производительности SQL Server.

Puc. 38.7. Условие счетчика производительности является одним из факторов, инициирующих предупреждение

5.              Сконфигурируйте предупреждение (состав действий зависит от выбранного на предыдущем этапе типа предупреждения).

•                Если создается предупреждение о событии SQL Server, выберите номер ошибки или ее строгость. В первом случае вы можете воспользоваться кнопкой с изображением эллипса для поиска нужного номера ошибки; во втором — сконцентрировать внимание на критических ошибках, которые имеют строгость 19 и выше. Вы можете осуществлять мониторинг как всех баз данных, так и только избранной. Также вы можете ограничить сообщения только теми, которые содержат определенную текстовую строку; фильтр при этом вводится в текстовое поле Error Message Contains This Text.

•                Если создается предупреждение, реагирующее на показания счетчика производительности SQL Server, выберите объект и счетчик, значения которого будете отслеживать. После этого установите пороговое значение счетчика и условие (превышение заданного значения, равенство ему или падение ниже него). В некоторых счетчиках нужно дополнительно определить экземпляр сервера, к которому он

применяется. Например, вы можете отслеживать размер файлов данных как всех баз, так и только избранной.

•                Если создается предупреждение о событии интерфейса WMI, следует определить пространство имен данного события (например, \\ .\root\Microsof t\ SqlServer\ServerEvents\MSSQLSERVER). Кроме того, вы должны создать запрос к этому пространству имен. Все запросы WMI используют специальный язык WQL (Windows Management Instrumentation Query Language).

3.              Перейдите на вкладку Responce. Определите тип отклика, который следует получить в ответ на предупреждение. На этой вкладке вы можете определить уведомление о событии одного или нескольких операторов, запуск некоторого задания, или и то и другое. Об установке заданий мы поговорим подробно в следующем разделе. Как вы уже догадались, кнопка New Operator открывает окно создания нового оператора, которое мы рассматривали в предыдущем разделе. Обычно в качестве средства отправки сообщения выбирается электронная почта или служба Net Send, если оператор не связан со службой пейджинга. Три флажка под списком операторов позволяют управлять отправкой текстовых сообщений об ошибке.

4.              Перейдите на вкладку Options. Выберите один из следующих методов запроса: Email, Pager или Net Send. Стандартный тип сообщения вы можете дополнить произвольным. Для повторяющихся уведомлений вы можете задать время задержки в минутах и секундах. Этот момент является особенно важным в предупреждениях, инициируемых счетчиками производительности, так как эти события имеют тенденцию присутствовать достаточно долго и могут вывести операторов из себя постоянной отправкой одних и тех же сообщений.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии