如何查看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?现在我得到所有没有失败的查询... –