Набор скриптов для знакомства с SQL Server

С чего все начинается

В одной из прошлых статей мы рассматривали вопросы мониторинга SQL Server в контексте работшаблоны с платформой 1С. И это правильно, ведь мониторинг СУБД является залогом стабильной работшаблоны информационной системы и всей компании.

Но что, если Вы как консультант / эксперт только пришли к новому клиенту / на новое место работшаблоны. Мониторинга там нет, но нужно понять, разобраться что там вообще происходит. Разобраться что за сервер вообще установлен, делаются ли бэкапы, какие базы развернуты, все ли в порядке с обслуживанием и так далее.

Сегодня мы рассмотрим подобные вопросы. Начнем знакомство с сервером с помощью простых запросов, а остановимся на примерах поинтереснее.

Скриптов достаточно?

Думаете, что все возникающие вопросы с СУБД можно решить скриптами? Многие вопросы, но точно не все!

Например, полноценный мониторинг сервера и сбор счетчиков производительности средствами СУБД точно не реализовать, ведь данные нужно не просто собирать, но и обраб управленияатывать, компоновать, визуализировать и, в конечном, счете как-то интерпретировать.

Конечно, SQL Server может решить все перечисленные задачи, ведь даже счетчики производительности операционной системы с его помощью можно собирать! Но это не всегда возможно, ведь тогда надо держать его установленным на всех серверах, даже которые к СУБД не относятся. А про сопровождение такого решения я вообще молчу.

Поэтому сделаю важное уточнение - с помощью предлагаемого набора скриптов решить все задачи с настройкой и мониторингом СУБД невозможно! А вот получить первое представление о ее состоянии, и поверхностную информацию о проблемах - самое то!

Ближе к делу

Меньше слов - больше T-SQL скриптов!

Знакомимся с сервером

На первом этапе всегда было бы полезно узнать следующую информацию. 

 
 Базовая информация о сервере
 
 Время работшаблоны с момента запуска
 
 Количество активных соединений

После этого мы можем двигаться дальше.

Псс, бэкапы есть?

Второй вопрос - что там у Вас с резервным копированием.

 
 Информация о бэкапах

Резервное бэкапирование не настроено? Тогда пора заняться этим как можно скорее.

Груз баз данных

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

 
 Список баз

Сам по себе список баз даст мало полезного. Давайте посмотрим что там с их размером.

 
 Размер баз

Еще может возникнуть вопрос где же эти базы хрантехничскоеятся.

 
 Расположение файлов баз данных

Но что скрывается за этими общими цифрами?

 
 Размеры таблиц

Отлично, теперь мы уже имеем представление о сервере, резервном копировании и базах данных, которые здесь находятся. Можно перейти к вопросам эффективности работшаблоны СУБД.

Что там с индексами

Состояние индексов и их правильное построение в базе - залог эффективной работшаблоны запросов и приемлемого быстродействия. Проведем исследование индексов в базах данных.

 
 Список индексов

Теперь можно посмотреть какие индексы полезные.

 
 Статистика использования индексов

Что ж, информация об использовании индексов у нас есть. Мы можем понять какие индексы избыточны и что-то с ними сделать. Но чаще всего проблема вовсе не в избыточности индексов, а в их недостаточности.

 
 Отсутствующие индексы

Еще одним важным показателем состояния индексов является процент фрагментации.

 
 Проверка фрагментации индексов

Вы знаете, что делать с индексами дальше!

Статистику бы проверить

С индексами разобрались, но для их корректной работшаблоны очень важно состояние статистики базы данных.

 
 Состояние статистики

Нашли проблему в обслуживании? Обслужите статистику!

Производительность - наше все!

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

 
 Ожидания

Далее можно посмотреть на статистику использования процессорных ресурсов и дисковой подсистемы по базам.

 
 Использование CPU и дисков по базам

Дальнейшее расследование и действия сильно зависит от полученной информации на данном этапе. Далее можно:

  1. Настроить мониторинг SQL Server'а (как внутренних показателей СУБД, так и счетчиков производительности).
  2. С помощью отчета "Просмотр и анализ структуры базы данных (отчет на СКД)" на платформконсоль отчетов е 1С анализировать информацию о базе данных в привычном виде.

И думать, работшаблонать дальше :)

Пока что все

В статье нет готового рецепта для решения всех проблем. Лишь скрипты. Скрипты для начала знакомства с сервером СУБД, получения узкой информации и получения сведений о потенциальных проблемах.

Дальше все зависит только от Вас!

"А как же PostgreSQL?!", - спросите Вы. Сейчас это "хайповая" СУБД, и возможно она станет на первое место по использованию в будущем. Думаю, мы обратимся к ней в следующих публикациях. Жаль, что ее инструменты диагностики не такие развитые как у SQL Server, но все ведь может поменяться.

До скорых встреч и хорошего настроения!

Другие ссылки

Скриншоты


Нет проблем.jpg

Теперь я администратор.jpg

Полная версия

© ООО "Инфостарт", 2006-2023 www.infostart.ru