Notatka
Dostęp do tej strony wymaga autoryzacji. Może 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ń.
Uwaga / Notatka
W Azure SQL Database oraz w bazie danych SQL w Microsoft Fabric instrukcja
USEnie jest dostępna. Zamiast tego połącz się bezpośrednio z bazą danychtempdbi bazą danychmasterosobno. Uruchom każdą partię próbki kodu na połączeniu dla bazy danych określonej przez instrukcjęUSE.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