Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
Azure SQL База данных
Azure SQL Управляемый экземпляр
SQL База данных в Microsoft Fabric
Эта процедура показывает, как использовать расширенные события совместно со средством отслеживания событий для Windows (ETW) в целях мониторинга активности системы. Процедура показывает также варианты использования инструкций CREATE EVENT SESSION, ALTER EVENT SESSION и DROP EVENT SESSION.
Выполнение этих задач включает использование Редактор запросов в SQL Server Management Studio для выполнения следующей процедуры. Процедура требует также использования командной строки для выполнения команд ETW.
Мониторинг активности системы с помощью расширенных событий
В редакторе запросов выполните следующие инструкции, чтобы создать сеанс событий и добавить два события. Эти события (checkpoint_begin и checkpoint_end) запускаются в начале и в конце контрольной точки базы данных.
CREATE EVENT SESSION test0 ON SERVER ADD EVENT sqlserver.checkpoint_begin, ADD EVENT sqlserver.checkpoint_end WITH (MAX_DISPATCH_LATENCY = 1 SECONDS) goДобавьте цель сегментирования с 32 сегментами для подсчета числа контрольных точек по идентификатору базы данных.
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' ) goВыполните следующие инструкции, чтобы добавить цель ETW. Это позволит видеть события начала и конца и использовать это для определения продолжительности обработки контрольной точки.
ALTER EVENT SESSION test0 ON SERVER ADD TARGET package0.etw_classic_sync_target goВведите следующие инструкции, чтобы запустить сеанс и начать сбор событий.
ALTER EVENT SESSION test0 ON SERVER STATE = start goВведите следующие инструкции для запуска трех событий.
USE tempdb checkpoint go USE master checkpoint checkpoint goВведите следующие инструкции для просмотра счетчиков событий.
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' goВ командной строке введите следующие команды для просмотра данных EWT.
Примечание.
Чтобы получить справку по команде tracerpt , введите в командной строке команду
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.Введите следующие инструкции, чтобы прекратить сеанс и удалить его с сервера.
ALTER EVENT SESSION test0 ON SERVER STATE = STOP go DROP EVENT SESSION test0 ON SERVER go
См. также
CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)
ОСТАНОВИТЬ СЕССИЮ СОБЫТИЙ (Transact-SQL)
Представления каталога расширенных событий (Transact-SQL)
Динамические административные представления расширенных событий
Цели расширенных событий SQL Server