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

Применимо к: даSQL Server (все поддерживаемые версии)

Microsoft SQL Server содержит полный набор средств для наблюдения за событиями на экземпляре SQL Server и настройки физической структуры баз данных. Выбор средств зависит от типа контроля или настройки, а также от конкретных отслеживаемых событий.

Ниже приведены средства контроля и настройки SQL Server .

Средство Описание
Встроенные функции (Transact-SQL) Встроенные функции отображают статистику моментального снимка по активности SQL Server с момента запуска сервера. Эта статистика хранится в предопределенных счетчиках SQL Server . Например, счетчик @@CPU_BUSY содержит количество времени, затраченное ЦП на выполнение кода SQL Server, счетчик @@CONNECTIONS содержит число соединений или попыток соединений SQL Server, а @@PACKET_ERRORS содержит количество сетевых пакетов в соединениях SQL Server.
DBCC (Transact-SQL) Инструкции консоли базы данных (DBCC) позволяют просматривать статистику производительности, а также логическую и физическую согласованность базы данных.
Помощник по настройке ядра СУБД (DTA) Помощник по настройке ядра СУБД анализирует то, как инструкции Transact-SQL , которые применяются к настраиваемым базам данных, воздействуют на производительность. Помощник по настройке ядра СУБД дает рекомендации по добавлению, удалению и изменению индексов, индексированных представлений и секционирования.
Database Experimentation Assistant (DEA) Database Experimentation Assistant (DEA) — это новое экспериментальное решение для SQL Server. Оно поможет оценить целевую версию Компонент SQL Server Database Engine для указанной рабочей нагрузки. При обновлении с предыдущей версии SQL Server (начиная с SQL Server 2005 (9.x)) до любой новой версии SQL Server решение DEA сможет предоставить показатели сравнительного анализа.
Журналы ошибок Журнал событий приложений Windows отражает общую картину событий, происходящих в операционной системе Windows Server или Windows как в едином целом, событий в экземпляре SQL Server, агенте SQL Server , и предоставляет полнотекстовый поиск. Сведения о событиях в экземпляре SQL Server доступны только в этом журнале. Данные журнала ошибок можно использовать для устранения неполадок, связанных с SQL Server.
Расширенные события Расширенные события — это упрощенная система мониторинга производительности, в которой применяется очень небольшой объем ресурсов. Система расширенных событий имеет три графических пользовательских интерфейса ("Мастер создания сеансов", "Создание сеанса" и "Профилировщик XE"), которые позволяют создавать, изменять, выводить и анализировать данные сеанса.
Динамические административные представления и функции, связанные с выполнением (Transact-SQL) Динамические административные представления, связанные с выполнением, позволяют получать сведения, связанные с выполнением.
Динамическая статистика запросов (LQS) Отображает статистические данные об этапах выполнения запроса в режиме реального времени. Эти данные доступны в режиме реального времени, поэтому статистика выполнения чрезвычайно полезна для отладки проблем с производительностью запросов.
Наблюдение за использованием ресурсов (системный монитор) Системный монитор в первую очередь отслеживает использование ресурсов, например количество используемых запросов страниц диспетчера буферов, позволяя отслеживать работу и производительность сервера с помощью предопределенных объектов и счетчиков или пользовательских счетчиков. Системный монитор (монитор производительности в Microsoft Windows NT 4.0) собирает счетчики и показатели, а не данные о событиях (например использование памяти, число активных транзакций, количество блокировок или загрузку ЦП). Для счетчиков можно задавать пороговые значения, при превышении которых операторы будут получать соответствующие уведомления.

Системный монитор работает в операционных системах Microsoft Windows Server и Windows. Он может отслеживать (удаленно или локально) работу экземпляра SQL Server , выполняющегося в ОС Windows NT 4.0 или более поздних версий.

Основное отличие между приложением Приложение SQL Server Profiler и системным монитором состоит в том, что приложение Приложение SQL Server Profiler отслеживает события ядра СУБД, тогда как системный монитор отслеживает использование ресурсов, связанных с процессами сервера.
Открытие монитора активности (среда SQL Server Management Studio) Монитор активности в SQL Server Management Studio позволяет создавать динамические представления текущей активности и наглядно отображать сведения по таким аспектам:

— процессы, запущенные в экземпляре SQL Server;
— заблокированные процессы;
— блокировки;
— пользовательская активность.
Панель мониторинга производительности Панель мониторинга производительности в SQL Server Management Studio помогает быстро выявлять наличие узких мест производительности в SQL Server.
Помощник по настройке запросов (QTA) Используя помощник по настройке запросов (QTA), пользователи смогут выполнять рекомендуемые действия для поддержки стабильной производительности во время обновлений до более новых версий SQL Server, как описано в разделе Поддержание стабильной производительности во время обновления до новой версии SQL Server статьи Сценарии использования хранилища запросов.
Хранилище запросов Хранилище запросов предоставляет подробные сведения о выборе и производительности плана запроса. Оно упрощает устранение неполадок с производительностью, помогая быстро находить разницу в производительности, вызванную изменением плана запроса. Хранилище запросов автоматически собирает журнал запросов, планов и статистики выполнения, сохраняя эти данные для просмотра. Данные разделяются по временным диапазонам, благодаря чему вы можете просматривать закономерности использования и узнавать об изменениях плана запроса на сервере.
Трассировка SQL Transact-SQL Хранимые процедуры, создающие, фильтрующие и определяющие трассировку:

Хранимая процедура sp_trace_create (Transact-SQL)
Хранимая процедура sp_trace_generateevent (Transact-SQL)
Хранимая процедура sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
Хранимая процедура sp_trace_setstatus (Transact-SQL)
Распределенное воспроизведение SQL Server MicrosoftРаспределенное воспроизведение SQL Server позволяет использовать несколько компьютеров для воспроизведения данных трассировки и моделирования ответственной рабочей нагрузки.
sp_trace_setfilter (Transact-SQL) Приложение SQL Server Profiler отслеживает события процесса ядра, например запуск пакета или транзакции, позволяя отслеживать работу сервера и базы данных (взаимоблокировки, неустранимые ошибки, вход в систему). Данные Приложение SQL Server Profiler можно поместить в файл или таблицу SQL Server для последующего анализа. Кроме того, предусмотрено пошаговое воспроизведение событий в SQL Server для точного определения хода событий.
Системные хранимые процедуры (Transact-SQL) Приведенные ниже системные хранимые процедуры SQL Server являются мощной альтернативой для многих задач мониторинга.

sp_who (Transact-SQL):
Предоставляет сведения моментального снимка о текущих пользователях и процессах SQL Server, включая выполняемые инструкции и их блокировку.

sp_lock (Transact-SQL):
Предоставляет сведения моментального снимка о блокировках, включая идентификаторы объекта и индекса, тип блокировки и тип блокируемого ресурса.

sp_spaceused (Transact-SQL):
Отображает оценку количества места на диске, занятого таблицей (или базой данных).

sp_monitor (Transact-SQL):
отображает статистику, включая загрузку ЦП, использование ввода-вывода и время простоя с момента последнего запуска процедуры sp_monitor .
Флаги трассировки (Transact-SQL) Флаги трассировки отображают сведения об определенных видах деятельности внутри сервера и используются для диагностики неполадок или причин недостаточной производительности (например при цепочках взаимоблокировок).

Выбор средства контроля

Выбор средства мониторинга зависит от события или вида деятельности, которые нужно отслеживать.

Событие или вид деятельности Расширенные события Приложение SQL Server Profiler Распределенное воспроизведение Системный монитор Монитор активности Transact-SQL Журналы ошибок Панель мониторинга производительности
Анализ трендов Да Да Да
Воспроизведение записанных событий Да (с одного компьютера) Да (с нескольких компьютеров)
Нерегламентированный мониторинг Да1 Да Да Да Да Да
Формирование предупреждений Да
Графический интерфейс Да Да Да Да Да Да
Применение в пользовательских приложениях Да Да2 Да

1 Использование профилировщика XEvent для среды SQL Server Management Studio
2 Использование системных хранимых процедурПриложение SQL Server Profiler

Средства контроля Windows

Кроме того, в операционных системах Windows и Windows Server 2003 имеются следующие средства наблюдения:

Средство Описание
Диспетчер задач Отображает краткий обзор процессов и приложений, запущенных в системе.
Агент мониторинга сети Отслеживает сетевой трафик.

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