如何查看SQL Server擴展事件如果某些字符串出現在SQL查詢語句中?SQL Server擴展事件 - 在語法中查找特定的字符串
例如:我想每天從12:00到15:00查找包含字符串ord_id=4
的所有查詢。
如何跟蹤擴展事件?
感謝, 轄
如何查看SQL Server擴展事件如果某些字符串出現在SQL查詢語句中?SQL Server擴展事件 - 在語法中查找特定的字符串
例如:我想每天從12:00到15:00查找包含字符串ord_id=4
的所有查詢。
如何跟蹤擴展事件?
感謝, 轄
你可以使用此查詢,如果你寫的讀取擴展事件
SELECT CONVERT(XML, event_data) XMLEventData FROM sys.fn_xe_file_target_read_file(N'PathForTheFile\*.xel', NULL, NULL, NULL)
*這意味着讀取所有文件,如果你知道去哪裏找,你可以寫你的文件名稱,而不是*
在此之後,以方便爲了使用下面的查詢,您需要修改查詢以滿足您的需求。
SELECT
xexml.value('(./action[@name="username"]/value)[1]', 'varchar(400)') as UserName
,xexml.value('(./action[@name="client_hostname"]/value)[1]', 'varchar(400)') as Client_Hostname
,xexml.value('(./action[@name="collect_system_time"]/value)[1]', 'datetime') as ProcessTime
,xexml.value('(./data[@name="statement"]/value)[1]', 'nvarchar(4000)') as SQLStatement
FROM
(
SELECT CONVERT(XML, event_data) XMLEventData FROM sys.fn_xe_file_target_read_file(N'PathOfYourFiles\*.xel', NULL, NULL, NULL) f
) AS EventTable
CROSS APPLY XMLEventData.nodes('/event') n (xexml)
WHERE cast(xexml.value('(./action[@name="collect_system_time"]/value)[1]', 'datetime')as time) between '12:00:00' and '15:00:00'
AND xexml.value('(./data[@name="statement"]/value)[1]', 'nvarchar(4000)') like '%ord_id=4%'
我需要使用%ord_id = 4%嗎? –
你是說它適用於%%,我不知道,我測試了很久回 – TheGameiswar
你知道我怎麼能找到同樣失敗的查詢語法ord_id = 4?現在我得到所有沒有失敗的查詢... –