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

Применимо к:SQL Server

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

Ниже приведены средства мониторинга и настройки SQL Server:

Средство Description
Встроенные функции (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 для определенной рабочей нагрузки. При обновлении предыдущих версий 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 и System Monitor заключается в том, что 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 Распределенное воспроизведение Системный монитор Монитор активности Transact-SQL Журналы ошибок Панель мониторинга производительности
Анализ трендов Да Да Да
Воспроизведение записанных событий Да (с одного компьютера) Да (с нескольких компьютеров)
Нерегламентированный мониторинг Да1 Да Да Да Да Да
Формирование предупреждений Да
Графический интерфейс Да Да Да Да Да Да
Применение в пользовательских приложениях Да Да2 Да

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

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

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

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

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