SQL filter with JOIN does not work
Hi,
I have a SQL query with a JOIN in it which doesn't return metrics.
This works
<add name="Sonar_MSSQL_VirtualFile" type="sql"
filter="SELECT DB_NAME(vfs.database_id) AS 'database',
vfs.file_id as 'fileid',
vfs.io_stall_read_ms,
vfs.io_stall_write_ms
FROM sys.dm_io_virtual_file_stats(null,null) AS vfs;">
<Tags>
<add name="database" value="database"/>
<add name="fileid" value="fileid"/>
</Tags>
<Values>
</Values>
</add>
this not:
<add name="Sonar_MSSQL_VirtualFile" type="sql"
filter="SELECT DB_NAME(vfs.database_id) AS 'database',
vfs.file_id as 'fileid',
vfs.io_stall_read_ms,
vfs.io_stall_write_ms
FROM sys.dm_io_virtual_file_stats(null,null) AS vfs
INNER JOIN sys.master_files AS mf ON vfs.database_id = mf.database_id AND vfs.file_id = mf.file_id;">
<Tags>
<add name="database" value="database"/>
<add name="fileid" value="fileid"/>
</Tags>
<Values>
</Values>
</add>
There are no errors in the sonar logs. The only metric I can see is Sonar_MSSQL_VirtualFile_sonar_scrape_duration_milliseconds.
The goal is to have the physical_name from sys.master_files.
Many thanks Frank