При расследовании проблем производительности может потребоваться произвести анализ счетчиков производительности сервера. Как настроить сбор таких показателей и их допустимые диапазоны значений было рассмотрено в статье «Настройка системного монитора для контроля производительности Windows и MS SQL Server». Если вы уже настраивали сборщики данных, наверняка заметили что просмотр собранных данных (в двоичный файл .blg) проблематичен в онлайн режиме. Т.е. для их просмотра необходимо остановить задание сбора и/или дождаться его завершения. Альтернативой сбора данных в двоичный файл является запись показателей в базу SQL Server, которая дает неоспоримые преимущества, главное из которых — просмотр данных в онлайн режиме. Помимо этого, возможен разносторонний анализ полученных данных средствами MS SQL Server (все зависит от вашей креативности). Таким образом, в данной статье мной будет рассмотрен способ подключения сбора данных в базу на SQL Server.
Подключение сбора данных к SQL Server
Для того чтобы подключить сбор данных показателей в базу данных на SQL Server необходимо:
- Настроить сборщик данных аналогично тому как это сделано в статье «Настройка системного монитора для контроля производительности Windows и MS SQL Server»
- Создать отдельную базу данных в СУБД для сбора показателей производительности
- Создать источник данных ODBC для записи показателей
- Настроить ранее созданный сборщик данных на запись в SQL Server
- Запустить/перезапустить сборщик данных
Перейдем сразу к третьему этапу настройки, поскольку первый этап рассмотрен в соответствующей статье, а второй не должен вызвать проблем.
Создание источника данных ODBC
Первым делом необходимо запустить утилиту «Источники данных (ODBC)» (Data sources (ODBC)), для этого можно перейти в «Панель управления» (Control panel) → «Администрирование» (Administrative tools) → «Источники данных (ODBC)» (Data sources (ODBC)).
На вкладке «Системный DSN» (System DSN) необходимо нажать «Добавить» (Add)
Далее, в открывшемся окне создания нового источника, необходимо выбрать «SQL Server» и нажать «Готово»
В следующем окне необходимо задать имя источника, его описание и, самое важное, экземпляр SQL Server в котором находится база-получатель. Таким образом, запись данных можно производить в том числе на удаленную, а не только локальную, машину. Для этого экземпляр SQL Server должен быть корректно настроен на обнаружение в сети.
Перейдем к следующему шагу, на котором необходимо указать способ аутентификации. Здесь важно установить «проверку подлинности учетной записи Windows NT», поскольку в ином случае у меня были проблемы с авторизацией. Используемая по умолчанию сетевая библиотека — TCP/IP с динамическим определением порта, что нам подходит, главное, убедитесь что в настройках сервера данный протокол включен.
На следующем этапе необходимо выбрать ранее созданную базу данных, в которую будут писаться данные о показателях производительности. Все остальные пункты можно оставить по умолчанию.
Далее возможно указать различные параметры (такие как язык системных сообщений SQL-сервера, шифрование и прочее), которые, в общем случае, можно оставить по умолчанию. Поэтому я опущу данный шаг. После чего необходимо нажать «Готово».
В следующем окне будет приведена информация о создаваемом источнике данных и возможность проверки источника данных, которую я рекомендую выполнить. Если все сделано правильно, проверка должна сообщить «ТЕСТ УСПЕШНО ЗАВЕРШЕН» («TESTS COMPLETED SUCCESSFULLY!»)
Мы сделали самое важное — создали наш источник данных по которому будем подключаться в базе данных!
Настройка ранее созданного сборщика данных
Откроем системный монитор (performance monitor) и перейдем к ранее созданному сборщику данных (или создадим и настроим новый, если его пока не существует).
Первым делом нам необходимо открыть свойства нашего сборщика данных и установить:
- «Формат журнала» (Log format) в значение «SQL»
- Выбрать источник данных (Data source) — ранее созданный нами источник данных ODBC
В случае если сборщик был уже запущен, система сообщит о необходимости перезапуска сборщика чтобы изменения вступили в силу.
Вторая важная настройка — задать пользователя из-под которого происходит выполнение. По умолчанию запуск происходит от имени системной записи «SYSTEM», нам же необходимо запустить задание из-под пользователя, который имеет права на SQL Server (если запись происходит на локальном экземпляре и у системной учетной записи есть права на SQL Server — этот шаг можно пропустить). Данная настройка выполняется в свойствах группы сборщиков.
Опять же, если задание было уже запущено, система сообщит о необходимости перезапуска для того чтобы изменения вступили в силу.
Если подключение было выполнено корректно, в базе данных будут созданы 3 таблицы, которые содержат всю необходимую информацию:
- DisplayToID — содержит информацию и сборщике данных
- CounterDetails — содержит информацию о счетчиках
- CounterData — содержит значения счетчиков
Далее, эту информацию можно использовать любым способом, который Вам придет на ум. Некоторые примеры такого использования приведены в статье «Использование данных, полученных сборщиком данных и записанных в SQL Server»