Цель «Файл событий»
Цель «Файл событий» — это цель, осуществляющая запись всех буферов на диск.
В следующей таблице описаны доступные параметры для настройки цели «Файл событий».
Параметр |
Допустимые значения |
Описание |
---|---|---|
filename |
Любая строка длиной до 260 символов. Это значение обязательно. |
Расположение и имя файла. Можно использовать любое расширение имени файла. |
max_file_size |
Любое 64-разрядное целое число. Это значение является необязательным. |
Верхний предел размера файла в мегабайтах (МБ). Если аргумент max_file_size не указан, файл будет увеличиваться до исчерпания пространства на диске. Размер файла по умолчанию составляет 1 ГБ. Аргумент max_file_size должен быть больше текущего размера буфера сеанса. Иначе целевой файл нельзя будет инициализировать и появится сообщение о недопустимости значения параметра max_file_size. Текущий размер буферов можно получить с помощью запроса к столбцу buffer_size в динамическом административном представлении sys.dm_xe_sessions. Если размер файла по умолчанию меньше размера буфера сеанса, рекомендуется задать для параметра max_file_size значение, указанное в столбце max_memory представления каталога sys.server_event_sessions. Если значение параметра max_file_size превышает размер буферов сеанса, его можно округлить до ближайшей меньшей величины, кратной размеру буфера сеанса. Созданный в результате целевой файл по размеру может быть меньше заданной величины max_file_size Например, если размер буфера составляет 100 МБ, а параметр max_file_size имеет значение 150 МБ, размер результирующего файла округляется до значения 100 МБ, поскольку второй буфер не уместится в оставшихся 50 МБ. Если размер файла по умолчанию меньше размера буфера сеанса, рекомендуется задать для параметра max_file_size значение, указанное в столбце max_memory представления каталога sys.server_event_sessions. |
max_rollover_files |
Любое 32-разрядное целое число. Это значение является необязательным. |
Максимальное число файлов, хранимых в файловой системе. |
increment |
Любое 32-разрядное целое число. Это значение является необязательным. |
Шаг увеличения размера файла в мегабайтах (МБ). Если не указан, то значением по умолчанию будет двойной размер буфера сеанса. |
При первом создании цели «Файл событий» к заданному имени файла присоединяется _0_ и длинное целое число. Это длинное целое число вычисляется как количество миллисекунд, прошедших с 1 января 1600 года до момента создания файла. Последующие файлы продолжения используют тот же формат. Сравнив значения длинных целых, можно определить самый последний файл. В следующем примере показано, как происходит именование файлов в случае, если для параметра filename указано значение «C:\OutputFiles\MyOutput.xel»:
первый созданный файл — C:\OutputFiles\MyOutput_0_128500310259380000.xel
первый файл продолжения — C:\OutputFiles\MyOutput_0_128505831770890000.xel
второй файл продолжения — C:\OutputFiles\MyOutput_0_132410772966237000.xel
Добавление цели к сеансу
Для добавления цели «Файл события» в сеанс расширенных событий необходимо включить следующую инструкцию при создании или изменении сеанса события, заменив file_name нужным именем файла и его расположением.
ADD TARGET package0.event_file(
SET filename='file_name.xel')
Просмотр целевого вывода
Для просмотра результата цели «Файл» следует использовать функцию sys.fn_xe_file_target_read_file. Рекомендуется представлять данные в виде XML. Вы можете пользоваться следующим синтаксисом, заменив file_name именем файла и его расположением, указанными при добавлении цели.
SELECT *, CAST(event_data AS XML) AS 'event_data_XML'
FROM sys.fn_xe_file_target_read_file('file_name*.xel', NULL, NULL, NULL)
См. также
Справочник
sys.fn_xe_file_target_read_file (Transact-SQL)
CREATE EVENT SESSION (Transact-SQL)
ALTER EVENT SESSION (Transact-SQL)