Наблюдение за компонентами SQL Server
Важность мониторинга обусловлена динамикой среды, в которой выполняется SQL Server. Данные в приложении изменяются. Изменяется тип доступа, который требуется пользователям. Изменяется способ подключения пользователей. Может измениться даже тип приложений, обращающихся к SQL Server, однако SQL Server автоматически управляет такими системными ресурсами, как память и место на диске, поэтому ручная настройка системы практически не требуется. Мониторинг позволяет администраторам следить за тенденциями изменения производительности и определять ситуации, когда требуются изменения.
Для организации эффективного мониторинга компонентов SQL Server выполните следующие действия.
Определите цели мониторинга.
Выберите подходящее средство.
Определите компоненты, подлежащие мониторингу.
Выберите метрики для этих компонентов.
Произведите мониторинг работы сервера.
Проанализируйте данные.
Ниже подробно описан каждый шаг.
Определение целей мониторинга
Чтобы обеспечить эффективность мониторинга SQL Server, необходимо четко определить, для чего он нужен. Мониторинг может осуществляться в следующих целях.
Формирование основных критериев оценки производительности.
Определение изменений производительности во времени.
Диагностика проблем, связанных с производительностью.
Определение компонентов и процессов, требующих оптимизации.
Сравнение влияния различных клиентских приложений на производительность.
Аудит активности пользователей.
Проверка работы сервера под воздействием различных нагрузок.
Проверка архитектуры базы данных.
Проверка расписания обслуживания.
Проверка планов резервного копирования и восстановления.
Определение необходимости изменения конфигурации оборудования.
Выбор подходящего средства
Определив цели мониторинга, следует выбрать соответствующие средства для этого типа мониторинга: В состав SQL Server и операционной системы Windows входит полный набор средств мониторинга серверов в средах с большим количеством транзакций. Эти средства подробно описывают состояние экземпляра компонента SQL Server Database Engine или экземпляра служб SQL Server Analysis Services.
Windows предоставляет следующие средства мониторинга приложений, запущенных на сервере.
Системный монитор, который позволяет собирать и просматривать данные об использовании памяти, диска и процессора в реальном времени
Журналы и предупреждения производительности
Диспетчер задач
Дополнительные сведения о средствах Windows Server и Windows см. в документации по операционной системе Windows.
SQL Server предоставляет следующие средства мониторинга компонентов SQL Server:
Трассировка SQL
Приложение SQL Server Profiler
Программа распределенного воспроизведения
Монитор активности среды Среда SQL Server Management Studio
Графическое отображение результатов инструкции Showplan в среде Среда SQL Server Management Studio
Хранимые процедуры
Консольные команды базы данных (DBCC)
Встроенные функции
Флаги трассировки
Дополнительные сведения о средствах мониторинга SQL Server см. в разделе Средства контроля и настройки производительности.
Определение компонентов, подлежащих мониторингу
На этом шаге требуется определить компоненты SQL Server, которые нужно контролировать. Например, при трассировке сервера при помощи приложения Приложение SQL Server Profiler можно собирать данные об определенных событиях. Кроме того, можно исключить из трассировки события, ненужные в данной конкретной ситуации.
Выбор метрик для наблюдаемых компонентов
Определив компоненты, подлежащие мониторингу, укажите метрики. Например, выбрав события для включения в трассировку, можно указать, какие именно данные требуются для анализа. Ограничив круг отслеживаемых данных можно сэкономить ресурсы системы, которые требуются для выполнения трассировки.
Мониторинг работы сервера
Для наблюдения за сервером запустите средство мониторинга, настроенное для сбора данных. Например, определив трассировку, запустите ее, чтобы собрать данные о событиях, происходящих на сервере.
Анализ данных
После окончания трассировки проанализируйте данные и попытайтесь понять, достигнута ли цель мониторинга. Если нет, измените компоненты или метрики, которые используются для мониторинга сервера.
Ниже описан процесс сбора данных о событиях и работа с ними.
Примените фильтры, чтобы ограничить объем собираемых данных о событиях.
Фильтры позволяют системе собирать данные только о тех событиях, которые имеют отношение к поставленной задаче мониторинга. Например, если требуется проконтролировать медленные запросы, с помощью фильтра можно собрать данные только о тех запросах к конкретной базе данных, которые выполняются более 30 секунд. Дополнительные сведения см. в разделах создать фильтр трассировки (Transact-SQL) и фильтровать события в трассировке (SQL Server Profiler).
Соберите данные о событиях.
После включения мониторинга собираются данные указанного приложения, экземпляра SQL Server или операционной системы. Например, при мониторинге активности диска с помощью системного монитора собираются и отображаются на экране данные о событиях чтения и записи. Дополнительные сведения см. в разделе Наблюдение за использованием ресурсов (системный монитор).
Сохраните собранные данные о событиях.
Сохранение данных собираемых событий позволяет позже проанализировать их и даже воспроизвести в программе распределенного воспроизведения или в приложении Приложение SQL Server Profiler. Данные сохраняются в файле, который впоследствии можно загрузить обратно в средство, изначально создавшее этот файл для целей анализа. Приложение Приложение SQL Server Profiler позволяет сохранить данные о событиях в таблице SQL Server. Возможность сохранения играет важную роль при определении базового уровня производительности. Данные базового уровня производительности сохраняются и используются для сравнения с данными новых событий, что позволяет определить, является ли производительность оптимальной. Дополнительные сведения см. в разделе Шаблоны и разрешения приложения SQL Server Profiler.
Создайте шаблоны трассировки, содержащие параметры сбора событий.
Шаблоны трассировки включают определения самих событий, данных о событиях и фильтрах, которые применяются для сбора данных. Эти шаблоны применяются для мониторинга определенного набора событий в будущем и не требуют переопределения событий, данных и фильтров. Например, если часто приходится наблюдать за количеством взаимоблокировок и за тем, какие пользователи затронуты этими взаимоблокировками, можно создать шаблон, определив нужные события, данные событий и фильтры, и сохранить его в отдельном файле; впоследствии этот фильтр можно использовать для наблюдения за взаимоблокировками. В приложении Приложение SQL Server Profiler для этой цели используются шаблоны трассировки. Дополнительные сведения см. в разделах установить определения трассировки по умолчанию (приложение SQL Server Profiler) и создать шаблон трассировки (приложение SQL Server Profiler).
Проанализируйте собранные данные о событиях.
Для анализа сохраненные данные загружаются в приложение, с помощью которого они были собраны. Например, трассировку, собранную приложением Приложение SQL Server Profiler, можно повторно загрузить в Приложение SQL Server Profiler для просмотра и анализа. Дополнительные сведения см. в разделе Просмотр и анализ трассировок с помощью приложения SQL Server Profiler.
Анализ данных подразумевает определение того, что происходит и почему. В зависимости от типа анализа эти сведения позволяют совершить действия, которые могут увеличить производительность, например добавить память, изменить индексы, исправить проблемы в коде инструкций Transact-SQL и хранимых процедур и т. п. Например, используя помощник по настройке компонента Компонент Database Engine, можно проанализировать трассировку, записанную приложением Приложение SQL Server Profiler, и получить рекомендации по построению индексов.
Воспроизведите собранные данные о событиях.
Возможность воспроизведения позволяет создать копию базы данных, в которой были собраны данные, и повторить события, как будто они произошли в реальной системе. Это возможно только в программе распределенного воспроизведения или в приложении Приложение SQL Server Profiler. События можно воспроизводить с первоначальной скоростью, с максимально возможной скоростью (чтобы загрузить систему) или пошагово (чтобы проанализировать состояние системы после каждого события). Анализ событий в тестовой среде позволяет избежать повреждений в производственной системе. Дополнительные сведения см. в разделе Воспроизведение трассировок.