Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Este procedimento ilustra como os Eventos Estendidos podem ser usados com o Event Tracing para Windows (ETW) para monitorizar a atividade do sistema. O procedimento também mostra como as instruções CREATE EVENT SESSION, ALTER EVENT SESSION e DROP EVENT SESSION são utilizadas.
Realizar estas tarefas envolve utilizar o Editor de Consultas no SQL Server Management Studio para realizar o seguinte procedimento. O procedimento também requer usar o prompt de comandos para executar comandos ETW.
Monitorizar a atividade do sistema usando Eventos Estendidos
No Editor de Consultas, emita as seguintes instruções para criar uma sessão de eventos e adicionar dois eventos. Estes eventos, checkpoint_begin e checkpoint_end, são acionados no início e no fim de um ponto de controlo de base de dados.
CREATE EVENT SESSION test0 ON SERVER ADD EVENT sqlserver.checkpoint_begin, ADD EVENT sqlserver.checkpoint_end WITH (MAX_DISPATCH_LATENCY = 1 SECONDS) goAdicione o alvo de bucketing com 32 buckets para contar o número de checkpoints com base no ID da base de dados.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.histogram ( SET slots = 32, filtering_event_name = 'sqlserver.checkpoint_end', source_type = 0, source = 'database_id' ) goUtilize os seguintes comandos para adicionar o alvo ETW. Isto permitirá ver os eventos de início e fim, que são usados para determinar quanto tempo demora o ponto de controlo.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.etw_classic_sync_target goEmita as seguintes declarações para iniciar a sessão e começar a recolha de eventos.
ALTER EVENT SESSION test0 ON SERVER STATE = start goEmita as seguintes instruções para fazer disparar três eventos.
USE tempdb checkpoint go USE master checkpoint checkpoint goEmita as seguintes declarações para consultar a contagem de eventos.
SELECT CAST(xest.target_data AS xml) Bucketizer_Target_Data_in_XML FROM sys.dm_xe_session_targets xest JOIN sys.dm_xe_sessions xes ON xes.address = xest.event_session_address JOIN sys.server_event_sessions ses ON xes.name = ses.name WHERE xest.target_name = 'histogram' AND xes.name = 'test0' goNo prompt de comandos, emita os seguintes comandos para visualizar os dados ETW.
Observação
Para obter ajuda para o comando tracerpt, no prompt de comandos, insira
tracerpt /?.logman query -ets --- List the ETW sessions. This is optional. logman update XE_DEFAULT_ETW_SESSION -fd -ets --- Flush the ETW log. tracerpt %temp%\xeetw.etl -o xeetw.txt --- Dump the events so they can be seen.Emita as seguintes instruções para interromper a sessão do evento e removê-la do servidor.
ALTER EVENT SESSION test0 ON SERVER STATE = STOP go DROP EVENT SESSION test0 ON SERVER go
Ver também
CRIAR SESSÃO DE EVENTO (Transact-SQL)
ALTER SESSÃO DE EVENTOS (Transact-SQL)
SESSÃO DE DROP EVENT (Transact-SQL)
Exibições estendidas do catálogo de eventos (Transact-SQL)
Exibições de gerenciamento dinâmico de eventos estendidos
Destinos de eventos estendidos do SQL Server