Ferramentas para monitoramento e ajuste de desempenhoPerformance Monitoring and Tuning Tools

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

MicrosoftMicrosoft SQL ServerSQL Server fornece um conjunto abrangente de ferramentas para monitorar eventos no SQL ServerSQL Server e ajustar o design do banco de dados físico.SQL ServerSQL Server provides a comprehensive set of tools for monitoring events in SQL ServerSQL Server and for tuning the physical database design. A escolha da ferramenta depende do tipo de monitoramento ou de ajuste a ser feito e dos eventos em particular a monitorar.The choice of tool depends on the type of monitoring or tuning to be done and the particular events to be monitored.

A seguir, encontra-se as ferramentas de monitoramento e ajuste do SQL ServerSQL Server :Following are the SQL ServerSQL Server monitoring and tuning tools:

FerramentaTool DescriçãoDescription
Funções internas (Transact-SQL)Built-in Functions (Transact-SQL) Funções internas exibem estatísticas que retratam a atividade do SQL ServerSQL Server desde o momento em que o servidor foi iniciado; essas estatísticas são armazenadas em contadores predefinidos do 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. Por exemplo, @@CPU_BUSY contém o tempo de execução do código do SQL ServerSQL Server pela CPU; @@CONNECTIONS contém o número de conexões ou tentativas de conexão do SQL ServerSQL Server e @@PACKET_ERRORS contém o número de pacotes de rede ocorridos em conexões do 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) Instruções DBCC (Database Console Command) lhe permitem examinar as estatísticas de desempenho e a consistência lógica e física de um banco de dados.DBCC (Database Console Command) statements enable you to check performance statistics and the logical and physical consistency of a database.
Orientador de Otimização do Mecanismo de Banco de Dados (DTA)Database Engine Tuning Advisor (DTA) O Orientador de Otimização do Mecanismo de Banco de Dados analisa os efeitos sobre o desempenho das instruções Transact-SQLTransact-SQL executadas em relação ao banco de dados que se deseja ajustarDatabase Engine Tuning Advisor analyzes the performance effects of Transact-SQLTransact-SQL statements executed against databases you want to tune. O Orientador de Otimização do Mecanismo de Banco de Dados dá recomendações sobre adição, remoção ou modificações de índices, exibições e partições.Database Engine Tuning Advisor provides recommendations to add, remove, or modify indexes, indexed views, and partitioning.
DEA (Assistente para Experimentos de Banco de Dados)Database Experimentation Assistant (DEA) O DEA (Assistente para Experimentos de Banco de Dados) é uma nova solução de teste A/B para o SQL Server.Database Experimentation Assistant (DEA) is a new A/B testing solution for SQL Server. Ela ajudará na avaliação de uma versão de destino do Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine para uma determinada carga de trabalho.It will assist in evaluating a targeted version of the Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine for a given workload. Ao atualizar de versões do SQL ServerSQL Server anteriores (começando com SQL Server 2005 (9.x)SQL Server 2005 (9.x)) para qualquer versão mais recente do SQL ServerSQL Server, DEA poderá fornecer as métricas de análise comparativa.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.
Logs de errosError Logs O log de eventos dos aplicativos Windows fornece um panorama dos eventos que ocorrem nos sistemas operacionais Windows Server e Windows como um todo, bem como dos eventos no SQL ServerSQL Server, no SQL ServerSQL Server Agent e em pesquisas de texto completo.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. Ele contém informações sobre eventos do SQL ServerSQL Server que não se encontram em nenhum outro lugar.It contains information about events in SQL ServerSQL Server that is not available elsewhere. Você pode usar as informações do log de erros para solucionar problemas relacionados ao SQL ServerSQL Server.You can use the information in the error log to troubleshoot SQL ServerSQL Server-related problems.
Eventos estendidosExtended Events Eventos Estendidos são um sistema de monitoramento de desempenho de peso leve que usa poucos recursos de desempenho.Extended Events is a light weight performance monitoring system that uses very few performance resources. Os Eventos Estendidos fornecem três interfaces gráficas do usuário (Assistente de Nova Sessão, Nova Sessão e XE Profiler) para criar, modificar, exibir e analisar os dados da sessão.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.
Funções e exibições de gerenciamento dinâmico relacionadas à execução (Transact-SQL)Execution Related Dynamic Management Views and Functions (Transact-SQL) DMVs relacionadas à execução permitem a você verificar informações relacionadas à execução.Execution related DMVs enable you to check execution related information.
Estatísticas de Consulta Dinâmica (LQS)Live Query Statistics (LQS) Exibe estatísticas em tempo real sobre as etapas de execução da consulta.Displays real-time statistics about query execution steps. Como esses dados estão disponíveis durante a execução da consulta, essas estatísticas de execução são extremamente úteis para depurar problemas de desempenho de consulta.Because this data is available while the query is executing, these execution statistics are extremely useful for debugging query performance issues.
Monitorar o uso de recursos (Monitor do Sistema)Monitor Resource Usage (System Monitor) O Monitor do Sistema rastreia, principalmente, o uso de recursos, como o número de solicitações de páginas do gerenciador de buffers em uso, o que permite monitorar o desempenho e a atividade do servidor por meio de objetos e contadores ou de contadores definidos pelo usuário para monitorar eventos.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. O Monitor do Sistema (Monitor de Desempenho, no Microsoft Windows NT 4.0) coleta contagens e taxas, e não dados, acerca dos eventos (por exemplo, uso de memória, número de transações ativas, números de bloqueios ou atividade de CPU).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). Você pode definir limites em contadores específicos para gerar alertas que notificam operadores.You can set thresholds on specific counters to generate alerts that notify operators.

O Monitor do Sistema funciona nos sistemas operacionais Microsoft Windows Server e Windows.System Monitor works on Microsoft Windows Server and Windows operating systems. Pode monitorar (remota ou localmente) uma instância do SQL ServerSQL Server no Windows NT 4.0 ou posterior.It can monitor (remotely or locally) an instance of SQL ServerSQL Server on Windows NT 4.0 or later.

A principal diferença entre o SQL Server ProfilerSQL Server Profiler e o Monitor do Sistema é que o SQL Server ProfilerSQL Server Profiler monitora eventos do Mecanismo de Banco de Dados, enquanto que o Monitor do Sistema monitora o uso de recursos associado a processos de servidor.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.
Abrir o Monitor de Atividade (SQL Server Management Studio)Open Activity Monitor (SQL Server Management Studio) O Monitor de Atividade no SQL Server Management StudioSQL Server Management Studio é útil para exibições ad hoc da atividade atual, além disso, exibe graficamente informações sobre: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:

– Processos em execução em uma instância do SQL ServerSQL Server- Processes running on an instance of SQL ServerSQL Server
– Processos bloqueados- Blocked processes
– Bloqueios- Locks
– Atividade de usuário- User activity
Painel de DesempenhoPerformance Dashboard O Painel de Desempenho no SQL Server Management StudioSQL Server Management Studio ajuda a identificar rapidamente se há qualquer gargalo de desempenho atual em 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.
Assistente de Ajuste de Consulta (QTA)Query Tuning Assistant (QTA) O recurso QTA (Assistente de Ajuste de Consulta) orientará os usuários pelo fluxo de trabalho recomendado para manter a estabilidade do desempenho durante as atualizações para as versões do SQL ServerSQL Server mais recentes, conforme documentado na seção Manter a estabilidade do desempenho durante a atualização para o SQL Server mais recente dos Cenários de uso do Repositório de Consultas.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.
Repositório de ConsultasQuery Store O recurso Repositório de Consultas fornece informações sobre escolha e desempenho do plano de consulta.The Query Store feature provides you with insight on query plan choice and performance. Ele simplifica a solução de problemas, ajudando você a identificar rapidamente diferenças de desempenho causadas por alterações nos planos de consulta.It simplifies performance troubleshooting by helping you quickly find performance differences caused by query plan changes. O Repositório de Consultas captura automaticamente um histórico das consultas, dos planos e das estatísticas de runtime e os mantém para sua análise.Query Store automatically captures a history of queries, plans, and runtime statistics, and retains these for your review. Ele separa os dados por janelas por hora, permitindo que você veja os padrões de uso do banco de dados e entenda quando as alterações aos planos de consulta ocorreram no servidor.It separates data by time windows so you can see database usage patterns and understand when query plan changes happened on the server.
Rastreamento do SQLSQL Trace Transact-SQLTransact-SQL que criam, filtram e definem rastreamentos: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 Server Distributed ReplaySQL Server Distributed Replay MicrosoftMicrosoft SQL ServerSQL Server O Distributed Replay pode usar vários computadores para reproduzir dados de rastreamento com uma simulação de uma carga de trabalho de missão crítica.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 rastreia eventos de processos do mecanismo, como o início de um lote ou de uma transação, o que lhe permite monitorar a atividade de servidor e de banco de dados (por exemplo, deadlocks, erros fatais e atividade de logon).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). Você pode capturar dados do SQL Server ProfilerSQL Server Profiler em uma tabela do SQL ServerSQL Server ou em um arquivo para análise posterior, bem como reproduzir passo a passo os eventos capturados no SQL ServerSQL Server para determinar o que aconteceu exatamente.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.
Procedimentos armazenados do sistema (Transact-SQL)System Stored Procedures (Transact-SQL) Os seguintes procedimentos armazenados do sistema do SQL ServerSQL Server constituem uma excelente alternativa para muitas tarefas de monitoramento:The following SQL ServerSQL Server system stored procedures provide a powerful alternative for many monitoring tasks:

sp_who (Transact-SQL):sp_who (Transact-SQL):
Fornece informações retratando usuários e processos do SQL ServerSQL Server atuais, inclusive a instrução executada atualmente e se está bloqueada.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):
Fornece informações retratando bloqueios, inclusive a ID de objeto, ID de índice, tipo de bloqueio e tipo ou recurso ao qual se aplica o bloqueio.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):
Exibe uma estimativa da quantidade atual de espaço em disco utilizada por uma tabela (ou pelo banco de dados inteiro).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):
Exibe estatísticas, incluindo o uso da CPU, uso de E/S e a quantidade de tempo ocioso desde a última execução de sp_monitor .Displays statistics, including CPU usage, I/O usage, and the amount of time idle since sp_monitor was last executed.
Sinalizadores de rastreamento (Transact-SQL)Trace Flags (Transact-SQL) Sinalizadores de rastreamento exibem informações sobre uma atividade específica no servidor e são usados para diagnosticar problemas ou questões de desempenho (por exemplo, cadeias de deadlock).Trace flags display information about a specific activity within the server and are used to diagnose problems or performance issues (for example, deadlock chains).

Escolhendo uma ferramenta de monitoramentoChoosing a Monitoring Tool

A escolha de uma ferramenta de monitoramento depende do evento ou da atividade a ser monitorada.The choice of a monitoring tool depends on the event or activity to be monitored.

Evento ou atividadeEvent or activity Eventos estendidosExtended Events SQL Server ProfilerSQL Server Profiler Distributed ReplayDistributed Replay Monitor do SistemaSystem Monitor Monitor de AtividadeActivity Monitor Transact-SQLTransact-SQL Logs de errosError logs Painel de DesempenhoPerformance Dashboard
Análise de tendênciaTrend analysis SimYes SimYes SimYes
Reprodução dos eventos capturadosReplaying captured events Sim (de um único computador)Yes (From a single computer) Sim (de vários computadores)Yes (From multiple computers)
Monitoramento ad hocAd hoc monitoring Sim1Yes1 SimYes SimYes SimYes SimYes SimYes
Geração de alertasGenerating alerts SimYes
Interface gráficaGraphical interface SimYes SimYes SimYes SimYes SimYes SimYes
Uso em aplicativo personalizadoUsing within custom application SimYes Sim2Yes2 SimYes

1 Usando o SQL Server Management Studio XEvent Profiler 1 Using SQL Server Management Studio XEvent Profiler
2 Usando procedimentos armazenados do sistema SQL Server ProfilerSQL Server Profiler.2 Using SQL Server ProfilerSQL Server Profiler system stored procedures.

Ferramentas de monitoramento do WindowsWindows Monitoring Tools

Os sistemas operacionais Windows e Windows Server 2003 também fornecem as seguintes ferramentas de monitoramento.Windows operating systems and Windows Server 2003 also provide these monitoring tools.

FerramentaTool DescriçãoDescription
Gerenciador de TarefasTask Manager Mostra uma sinopse dos processos e aplicativos em execução no sistema.Shows a synopsis of the processes and applications running on the system.
Agente do monitor da redeNetwork Monitor Agent Monitora o tráfego da rede.Monitors network traffic.

Para obter mais informações sobre ferramentas dos sistemas operacionais Windows ou Windows Server, consulte a documentação do Windows.For more information about Windows operating systems or Windows Server tools, see the Windows documentation.