我想获取扩展事件 event_file 的文件路径并将其放入变量中,但我被卡住了。
这是我所拥有的:
DECLARE @ExpensiveXML XML
SET @ExpensiveXML = (SELECT CAST(xet.target_data AS xml) AS 'XML'
FROM sys.dm_xe_session_targets AS xet
JOIN sys.dm_xe_sessions AS xe
ON (xe.address = xet.event_session_address)
WHERE xe.name = '<my extended event>');
SELECT @ExpensiveXML.query('/EventFileTarget/File')
它返回:
<File name="MyFilePath.xel" />
我想只返回 MyFilePath.xel 周围没有 < File name=.../ >。
请改用 value() 。
value() 函数返回标量值并采用两个参数。第一个是 xpath 表达式,第二个是你想要的数据类型。