Eu gostaria de obter o caminho de arquivo para o meu event_file de evento estendido e colocá-lo dentro de uma variável, mas estou preso.
Aqui está o que eu tenho:
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')
e ele retorna:
<File name="MyFilePath.xel" />
Eu gostaria de retornar apenas MyFilePath.xel sem o < nome do arquivo =.../ > ao redor dele.
Use value() em vez disso.
A função value() retorna um valor escalar e recebe dois parâmetros. A primeira é a expressão xpath e a segunda é o tipo de dados que você deseja.