How to: Monitor System Activity Using Extended Events
Poniższa procedura ilustruje, jak Extended zdarzeń można używać z zdarzeń śledzenia dla systemu Windows (ETW) do monitorowania aktywności systemu.W procedurze pokazano również, jak są używane instrukcje sesja sesja zdarzenie CREATE, ALTER zdarzenie sesja i DROP zdarzenie.
Wykonania tych zadań polega na użyciu Edytor kwerend w SQL Server Management Studio Aby wykonać poniższą procedurę. Procedura wymaga także za pomocą wiersz polecenia do uruchamiania poleceń ETW.
Monitorowanie aktywności systemu przy użyciu rozszerzonego zdarzenia
W edytorze Query wydać następujące instrukcje, aby do sesja zdarzenie utworzyć i dodać dwa zdarzenie.Te zdarzenia, checkpoint_begin i checkpoint_end, pożaru na początku i końcu punkcie kontrolnym bazy danych.
CREATE EVENT SESSION test0 ON SERVER ADD EVENT sqlserver.checkpoint_begin, ADD EVENT sqlserver.checkpoint_end WITH (MAX_DISPATCH_LATENCY = 1 SECONDS) go
Dodawanie bucketing docelowego z 32 pakiety do policzenia, ile punktów kontrolnych w oparciu o identyfikator bazy danych.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.asynchronous_bucketizer ( SET slots = 32, filtering_event_name = 'sqlserver.checkpoint_end', source_type = 0, source = 'database_id' ) go
Należy wydać następujące instrukcje, aby dodać miejsce docelowe ETW.Pozwoli to rozpoczęcia i zakończenia zdarzenia, która jest używana do określenia, jak długo trwa punkt kontrolny.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.etw_classic_sync_target go
Wydać następujące instrukcje, aby rozpocząć sesja i rozpocząć zdarzenie kolekcji.
ALTER EVENT SESSION test0 ON SERVER STATE = start go
Należy wydać następujące instrukcje spowodować trzy zdarzenia uruchomienie.
USE tempdb checkpoint go USE master checkpoint checkpoint go
Wydać następujące instrukcje, aby wyświetlić zdarzenie liczniki.
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 = 'asynchronous_bucketizer' AND xes.name = 'test0' go
W wiersz polecenia należy wydać następujące polecenia, aby wyświetlić dane ETW.
Uwaga
Aby uzyskać pomoc dotyczącą tracerpt , polecenie w wiersz polecenia należy wprowadzić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.
Należy wydać następujące instrukcje, aby zatrzymać sesja zdarzeń i usunąć go z serwera.
ALTER EVENT SESSION test0 ON SERVER STATE = STOP go DROP EVENT SESSION test0 ON SERVER go
See Also