Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Ta procedura ilustruje, jak zdarzenia rozszerzone mogą być używane z śledzeniem zdarzeń dla systemu Windows (ETW) do monitorowania aktywności systemu. Procedura pokazuje również, jak są używane instrukcje CREATE EVENT SESSION, ALTER EVENT SESSION i DROP EVENT SESSION.
Wykonanie tych zadań obejmuje użycie edytora zapytań w programie SQL Server Management Studio w celu wykonania poniższej procedury. Procedura wymaga również użycia wiersza polecenia do uruchamiania poleceń ETW.
Aby monitorować aktywność systemu przy użyciu zdarzeń rozszerzonych
W Edytorze zapytań wykonaj następujące instrukcje, aby utworzyć sesję zdarzeń i dodać dwa zdarzenia. Te zdarzenia, checkpoint_begin i checkpoint_end, są uruchamiane na początku i na końcu punktu kontrolnego bazy danych.
CREATE EVENT SESSION test0 ON SERVER ADD EVENT sqlserver.checkpoint_begin, ADD EVENT sqlserver.checkpoint_end WITH (MAX_DISPATCH_LATENCY = 1 SECONDS) goDodaj docelowy zasobnik z 32 zasobnikami, aby zliczyć liczbę punktów kontrolnych na podstawie identyfikatora bazy danych.
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' ) goWydaj następujące instrukcje, aby dodać cel ETW. Umożliwi to wyświetlanie zdarzeń początkowych i końcowych, które służą do określania, jak długo trwa punkt kontrolny.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.etw_classic_sync_target goWydaj następujące instrukcje, aby rozpocząć sesję i rozpocząć zbieranie zdarzeń.
ALTER EVENT SESSION test0 ON SERVER STATE = start goWydaj następujące instrukcje, aby spowodować uruchomienie trzech zdarzeń.
USE tempdb checkpoint go USE master checkpoint checkpoint goWydaj następujące polecenia, aby wyświetlić liczbę zdarzeń.
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' goW wierszu polecenia wydaj następujące polecenia, aby wyświetlić dane ETW.
Uwaga / Notatka
Aby uzyskać pomoc dotyczącą polecenia tracerpt, w wierszu polecenia wprowadź .
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.Wydaj następujące instrukcje, aby zatrzymać sesję zdarzeń i usunąć ją z serwera.
ALTER EVENT SESSION test0 ON SERVER STATE = STOP go DROP EVENT SESSION test0 ON SERVER go
Zobacz też
CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)
DROP EVENT SESSION (Transact-SQL)
Widoki wykazu zdarzeń rozszerzonych (Transact-SQL)
Dynamiczne widoki zarządzania zdarzeniami rozszerzonymi
Obiekty docelowe zdarzeń rozszerzonych programu SQL Server