Средства контроля и настройки производительностиPerformance Monitoring and Tuning Tools

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

MicrosoftMicrosoft SQL ServerSQL Server содержит полный набор средств для наблюдения за событиями на экземпляре SQL ServerSQL Server и настройки физической структуры баз данных.SQL ServerSQL Server provides a comprehensive set of tools for monitoring events in SQL ServerSQL Server and for tuning the physical database design. Выбор средств зависит от типа контроля или настройки, а также от конкретных отслеживаемых событий.The choice of tool depends on the type of monitoring or tuning to be done and the particular events to be monitored.

Ниже приведены средства контроля и настройки SQL ServerSQL Server .Following are the SQL ServerSQL Server monitoring and tuning tools:

СредствоTool ОписаниеDescription
Встроенные функции (Transact-SQL)Built-in Functions (Transact-SQL) Встроенные функции отображают статистику моментального снимка по активности SQL ServerSQL Server с момента запуска сервера. Эта статистика хранится в предопределенных счетчиках SQL ServerSQL Server .Built-in functions display snapshot statistics about SQL ServerSQL Server activity since the server was started; these statistics are stored in predefined SQL ServerSQL Server counters. Например, счетчик @@CPU_BUSY содержит количество времени, затраченное ЦП на выполнение кода SQL ServerSQL Server, счетчик @@CONNECTIONS содержит число соединений или попыток соединений SQL ServerSQL Server, а @@PACKET_ERRORS содержит количество сетевых пакетов в соединениях SQL ServerSQL Server.For example, @@CPU_BUSY contains the amount of time the CPU has been executing SQL ServerSQL Server code; @@CONNECTIONS contains the number of SQL ServerSQL Server connections or attempted connections; and @@PACKET_ERRORS contains the number of network packets occurring on SQL ServerSQL Server connections.
DBCC (Transact-SQL)DBCC (Transact-SQL) Инструкции консоли базы данных (DBCC) позволяют просматривать статистику производительности, а также логическую и физическую согласованность базы данных.DBCC (Database Console Command) statements enable you to check performance statistics and the logical and physical consistency of a database.
Помощник по настройке ядра СУБД (DTA)Database Engine Tuning Advisor (DTA) Помощник по настройке ядра СУБД анализирует то, как инструкции Transact-SQLTransact-SQL , которые применяются к настраиваемым базам данных, воздействуют на производительность.Database Engine Tuning Advisor analyzes the performance effects of Transact-SQLTransact-SQL statements executed against databases you want to tune. Помощник по настройке ядра СУБД дает рекомендации по добавлению, удалению и изменению индексов, индексированных представлений и секционирования.Database Engine Tuning Advisor provides recommendations to add, remove, or modify indexes, indexed views, and partitioning.
Database Experimentation Assistant (DEA)Database Experimentation Assistant (DEA) Database Experimentation Assistant (DEA) — это новое экспериментальное решение для SQL Server.Database Experimentation Assistant (DEA) is a new A/B testing solution for SQL Server. Оно поможет оценить целевую версию Компонент SQL Server Database EngineSQL Server Database Engine для указанной рабочей нагрузки.It will assist in evaluating a targeted version of the Компонент SQL Server Database EngineSQL Server Database Engine for a given workload. При обновлении с предыдущей версии SQL ServerSQL Server (начиная с SQL Server 2005 (9.x)SQL Server 2005 (9.x)) до любой новой версии SQL ServerSQL Server решение DEA сможет предоставить показатели сравнительного анализа.When upgrading from a previous SQL ServerSQL Server versions (Starting with SQL Server 2005 (9.x)SQL Server 2005 (9.x)) to any newer version of SQL ServerSQL Server, DEA will be able to provide comparative analysis metrics.
Журналы ошибокError Logs Журнал событий приложений Windows отражает общую картину событий, происходящих в операционной системе Windows Server или Windows как в едином целом, событий в экземпляре SQL ServerSQL Server, агенте SQL ServerSQL Server , и предоставляет полнотекстовый поиск.The Windows application event log provides an overall picture of events occurring on the Windows Server and Windows operating systems as a whole, as well as events in SQL ServerSQL Server, SQL ServerSQL Server Agent, and full-text search. Сведения о событиях в экземпляре SQL ServerSQL Server доступны только в этом журнале.It contains information about events in SQL ServerSQL Server that is not available elsewhere. Данные журнала ошибок можно использовать для устранения неполадок, связанных с SQL ServerSQL Server.You can use the information in the error log to troubleshoot SQL ServerSQL Server-related problems.
Расширенные событияExtended Events Расширенные события — это упрощенная система мониторинга производительности, в которой применяется очень небольшой объем ресурсов.Extended Events is a light weight performance monitoring system that uses very few performance resources. Система расширенных событий имеет три графических пользовательских интерфейса ("Мастер создания сеансов", "Создание сеанса" и "Профилировщик XE"), которые позволяют создавать, изменять, выводить и анализировать данные сеанса.Extended Events provides three graphical user interfaces (New Session Wizard, New Session and the XE Profiler) to create, modify, display, and analyze your session data.
Динамические административные представления и функции, связанные с выполнением (Transact-SQL)Execution Related Dynamic Management Views and Functions (Transact-SQL) Динамические административные представления, связанные с выполнением, позволяют получать сведения, связанные с выполнением.Execution related DMVs enable you to check execution related information.
Динамическая статистика запросов (LQS)Live Query Statistics (LQS) Отображает статистические данные об этапах выполнения запроса в режиме реального времени.Displays real-time statistics about query execution steps. Эти данные доступны в режиме реального времени, поэтому статистика выполнения чрезвычайно полезна для отладки проблем с производительностью запросов.Because this data is available while the query is executing, these execution statistics are extremely useful for debugging query performance issues.
Наблюдение за использованием ресурсов (системный монитор)Monitor Resource Usage (System Monitor) Системный монитор в первую очередь отслеживает использование ресурсов, например количество используемых запросов страниц диспетчера буферов, позволяя отслеживать работу и производительность сервера с помощью предопределенных объектов и счетчиков или пользовательских счетчиков.System Monitor primarily tracks resource usage, such as the number of buffer manager page requests in use, enabling you to monitor server performance and activity using predefined objects and counters or user-defined counters to monitor events. Системный монитор (монитор производительности в Microsoft Windows NT 4.0) собирает счетчики и показатели, а не данные о событиях (например использование памяти, число активных транзакций, количество блокировок или загрузку ЦП).System Monitor (Performance Monitor in Microsoft Windows NT 4.0) collects counts and rates rather than data about the events (for example, memory usage, number of active transactions, number of blocked locks, or CPU activity). Для счетчиков можно задавать пороговые значения, при превышении которых операторы будут получать соответствующие уведомления.You can set thresholds on specific counters to generate alerts that notify operators.

Системный монитор работает в операционных системах Microsoft Windows Server и Windows.System Monitor works on Microsoft Windows Server and Windows operating systems. Он может отслеживать (удаленно или локально) работу экземпляра SQL ServerSQL Server , выполняющегося в ОС Windows NT 4.0 или более поздних версий.It can monitor (remotely or locally) an instance of SQL ServerSQL Server on Windows NT 4.0 or later.

Основное отличие между приложением Приложение SQL Server ProfilerSQL Server Profiler и системным монитором состоит в том, что приложение Приложение SQL Server ProfilerSQL Server Profiler отслеживает события ядра СУБД, тогда как системный монитор отслеживает использование ресурсов, связанных с процессами сервера.The key difference between Приложение SQL Server ProfilerSQL Server Profiler and System Monitor is that Приложение SQL Server ProfilerSQL Server Profiler monitors Database Engine events, whereas System Monitor monitors resource usage associated with server processes.
Открытие монитора активности (среда SQL Server Management Studio)Open Activity Monitor (SQL Server Management Studio) Монитор активности в SQL Server Management StudioSQL Server Management Studio позволяет создавать динамические представления текущей активности и наглядно отображать сведения по таким аспектам:The Activity Monitor in SQL Server Management StudioSQL Server Management Studio is useful for ad hoc views of current activity and graphically displays information about:

— процессы, запущенные в экземпляре SQL ServerSQL Server;- Processes running on an instance of SQL ServerSQL Server
— заблокированные процессы;- Blocked processes
— блокировки;- Locks
— пользовательская активность.- User activity
Панель мониторинга производительностиPerformance Dashboard Панель мониторинга производительности в SQL Server Management StudioSQL Server Management Studio помогает быстро выявлять наличие узких мест производительности в SQL ServerSQL Server.The Performance Dashboard in SQL Server Management StudioSQL Server Management Studio helps to quickly identify whether there is any current performance bottleneck in SQL ServerSQL Server.
Помощник по настройке запросов (QTA)Query Tuning Assistant (QTA) Используя помощник по настройке запросов (QTA), пользователи смогут выполнять рекомендуемые действия для поддержки стабильной производительности во время обновлений до более новых версий SQL ServerSQL Server, как описано в разделе Поддержание стабильной производительности во время обновления до новой версии SQL Server статьи Сценарии использования хранилища запросов.The Query Tuning Assistant (QTA) feature will guide users through the recommended workflow to keep performance stability during upgrades to newer SQL ServerSQL Server versions, as documented in the section Keep performance stability during the upgrade to newer SQL Server of Query Store Usage Scenarios.
Хранилище запросовQuery Store Хранилище запросов предоставляет подробные сведения о выборе и производительности плана запроса.The Query Store feature provides you with insight on query plan choice and performance. Оно упрощает устранение неполадок с производительностью, помогая быстро находить разницу в производительности, вызванную изменением плана запроса.It simplifies performance troubleshooting by helping you quickly find performance differences caused by query plan changes. Хранилище запросов автоматически собирает журнал запросов, планов и статистики выполнения, сохраняя эти данные для просмотра.Query Store automatically captures a history of queries, plans, and runtime statistics, and retains these for your review. Данные разделяются по временным диапазонам, благодаря чему вы можете просматривать закономерности использования и узнавать об изменениях плана запроса на сервере.It separates data by time windows so you can see database usage patterns and understand when query plan changes happened on the server.
Трассировка SQLSQL Trace Transact-SQLTransact-SQL Хранимые процедуры, создающие, фильтрующие и определяющие трассировку:stored procedures that create, filter, and define tracing:

Хранимая процедура sp_trace_create (Transact-SQL)sp_trace_create (Transact-SQL)
Хранимая процедура sp_trace_generateevent (Transact-SQL)sp_trace_generateevent (Transact-SQL)
Хранимая процедура sp_trace_setevent (Transact-SQL)sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)sp_trace_setfilter (Transact-SQL)
Хранимая процедура sp_trace_setstatus (Transact-SQL)sp_trace_setstatus (Transact-SQL)
Распределенное воспроизведение SQL ServerSQL Server Distributed Replay MicrosoftMicrosoftРаспределенное воспроизведение SQL ServerSQL Server позволяет использовать несколько компьютеров для воспроизведения данных трассировки и моделирования ответственной рабочей нагрузки.SQL ServerSQL Server Distributed Replay can use multiple computers to replay trace data, simulating a mission-critical workload.
sp_trace_setfilter (Transact-SQL)sp_trace_setfilter (Transact-SQL) Приложение SQL Server ProfilerSQL Server Profiler отслеживает события процесса ядра, например запуск пакета или транзакции, позволяя отслеживать работу сервера и базы данных (взаимоблокировки, неустранимые ошибки, вход в систему).tracks engine process events, such as the start of a batch or a transaction, enabling you to monitor server and database activity (for example, deadlocks, fatal errors, or login activity). Данные Приложение SQL Server ProfilerSQL Server Profiler можно поместить в файл или таблицу SQL ServerSQL Server для последующего анализа. Кроме того, предусмотрено пошаговое воспроизведение событий в SQL ServerSQL Server для точного определения хода событий.You can capture Приложение SQL Server ProfilerSQL Server Profiler data to a SQL ServerSQL Server table or a file for later analysis, and you can also replay the events captured on SQL ServerSQL Server step by step, to see exactly what happened.
Системные хранимые процедуры (Transact-SQL)System Stored Procedures (Transact-SQL) Приведенные ниже системные хранимые процедуры SQL ServerSQL Server являются мощной альтернативой для многих задач мониторинга.The following SQL ServerSQL Server system stored procedures provide a powerful alternative for many monitoring tasks:

sp_who (Transact-SQL):sp_who (Transact-SQL):
Предоставляет сведения моментального снимка о текущих пользователях и процессах SQL ServerSQL Server, включая выполняемые инструкции и их блокировку.Reports snapshot information about current SQL ServerSQL Server users and processes, including the currently executing statement and whether the statement is blocked.

sp_lock (Transact-SQL):sp_lock (Transact-SQL):
Предоставляет сведения моментального снимка о блокировках, включая идентификаторы объекта и индекса, тип блокировки и тип блокируемого ресурса.Reports snapshot information about locks, including the object ID, index ID, type of lock, and type or resource to which the lock applies.

sp_spaceused (Transact-SQL):sp_spaceused (Transact-SQL):
Отображает оценку количества места на диске, занятого таблицей (или базой данных).Displays an estimate of the current amount of disk space used by a table (or a whole database).

sp_monitor (Transact-SQL):sp_monitor (Transact-SQL):
отображает статистику, включая загрузку ЦП, использование ввода-вывода и время простоя с момента последнего запуска процедуры sp_monitor .Displays statistics, including CPU usage, I/O usage, and the amount of time idle since sp_monitor was last executed.
Флаги трассировки (Transact-SQL)Trace Flags (Transact-SQL) Флаги трассировки отображают сведения об определенных видах деятельности внутри сервера и используются для диагностики неполадок или причин недостаточной производительности (например при цепочках взаимоблокировок).Trace flags display information about a specific activity within the server and are used to diagnose problems or performance issues (for example, deadlock chains).

Выбор средства контроляChoosing a Monitoring Tool

Выбор средства мониторинга зависит от события или вида деятельности, которые нужно отслеживать.The choice of a monitoring tool depends on the event or activity to be monitored.

Событие или вид деятельностиEvent or activity Расширенные событияExtended Events Приложение SQL Server ProfilerSQL Server Profiler Распределенное воспроизведениеDistributed Replay Системный мониторSystem Monitor Монитор активностиActivity Monitor Transact-SQLTransact-SQL Журналы ошибокError logs Панель мониторинга производительностиPerformance Dashboard
Анализ трендовTrend analysis ДаYes ДаYes ДаYes
Воспроизведение записанных событийReplaying captured events Да (с одного компьютера)Yes (From a single computer) Да (с нескольких компьютеров)Yes (From multiple computers)
Нерегламентированный мониторингAd hoc monitoring Да1Yes1 ДаYes ДаYes ДаYes ДаYes ДаYes
Формирование предупрежденийGenerating alerts ДаYes
Графический интерфейсGraphical interface ДаYes ДаYes ДаYes ДаYes ДаYes ДаYes
Применение в пользовательских приложенияхUsing within custom application ДаYes Да2Yes2 ДаYes

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

Средства контроля WindowsWindows Monitoring Tools

Кроме того, в операционных системах Windows и Windows Server 2003 имеются следующие средства наблюдения:Windows operating systems and Windows Server 2003 also provide these monitoring tools.

СредствоTool ОписаниеDescription
Диспетчер задачTask Manager Отображает краткий обзор процессов и приложений, запущенных в системе.Shows a synopsis of the processes and applications running on the system.
Агент мониторинга сетиNetwork Monitor Agent Отслеживает сетевой трафик.Monitors network traffic.

Дополнительные сведения об операционных системах Windows и Windows Server см. в документации Windows.For more information about Windows operating systems or Windows Server tools, see the Windows documentation.