Запрос расширенного события из TSQL - PullRequest
4 голосов
/ 03 июля 2019

Я продлил событие, как,

CREATE EVENT SESSION [Name] ON SERVER 
ADD EVENT sqlserver.sql_statement_completed(SET collect_statement=(1)
    ACTION(...)
    ......

Теперь, когда я щелкаю правой кнопкой мыши и View Target Data, он пытается загрузить все, даже фильтр там. Мне просто нужно увидеть заявления, выполненные сегодня. Как я могу получить сегодня Statemnets?

Ответы [ 2 ]

0 голосов
/ 18 июля 2019

Я использую ниже команды для этого случая. Если вы используете более старую версию, чем SQL Server 2016, вы должны изменить DROP TABLE IF EXISTS оператор.

DROP TABLE IF EXISTS #tempapperror
SELECT   
            [timestamp] = (xe_file.xml_data.value('(/event/@timestamp)[1]', '[varchar](100)' ) )
            ,[database_name] = (xe_file.xml_data.value('(/event/action[@name=''database_name'']/value)[1]','[varchar](250)'))
            ,...
            INTO #tempapperror
    FROM    (
                SELECT   [FILE_NAME]
                        ,[XML_DATA] = CONVERT(XML, EVENT_DATA)
                FROM    sys.fn_xe_file_target_read_file('yourfilepath*.xel', NULL, NULL, NULL)
            ) AS xe_file
    WHERE (xe_file.xml_data.value('(/event/@timestamp)[1]', '[varchar](100)' ) )>='2019-07-17T00:00:00.000Z'

SELECT * FROM #tempapperror  ORDER BY 1 DESC
0 голосов
/ 17 июля 2019
SELECT event_data = CONVERT(XML, event_data) 

INTO #t FROM sys.fn_xe_file_target_read_file (N'system_health * .xel ', NULL, NULL, NULL);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...