Hi,
I am using this query to get the installed SQL version information form ConfigMgr.
http://www.hasmug.com/2014/06/29/improved-reporting-on-sql-instances-in-sccm/
The query on it own works like a treat. However as part of MS Audit my customer also requires the Proc count. ConfigMgr has a view with the proc count and i can join it to v_r_system_Valid using .resourceID column however i unsure how to get this join into the query to add this column for proc count.
Any help is greatly appreciated.
Query added incase the link doesn't work.
SELECT [ComputerName], [SQL TYPE], [SQL Service Pack], [SQL Version], [SQL CU Version] FROM ( -- SQL 2012 SELECT VRS.Netbios_name0 [ComputerName], MAX(CASE sql2012.PropertyName0 WHEN 'SKUName' THEN sql2012.PropertySTRValue0 END) AS [SQL TYPE] ,MAX(CASE sql2012.PropertyName0 WHEN 'SPLEVEL' THEN sql2012.PropertyNUMValue0 END) AS [SQL Service Pack] ,MAX(CASE sql2012.PropertyName0 WHEN 'VERSION' THEN sql2012.PropertySTRValue0 END) AS [SQL Version] ,MAX(CASE sql2012.PropertyName0 WHEN 'FILEVERSION' THEN sql2012.PropertySTRValue0 END) AS [SQL CU Version] FROM v_r_system_valid VRS LEFT JOIN v_GS_CUSTOM_SQL2012 sql2012 ON sql2012.ResourceID = VRS.ResourceID WHERE sql2012.PropertyName0 IN ('SKUNAME','SPLevel','version','fileversion') --AND PropertySTRValue0 NOT LIKE 'Express%' --AND PropertySTRValue0 NOT LIKE 'Windows Internal Database%' GROUP BY VRS.Netbios_name0, sql2012.ServiceName0 -- SQL 2008 UNION ALL SELECT VRS.Netbios_name0 [ComputerName], MAX(CASE sql2008.PropertyName0 WHEN 'SKUName' THEN sql2008.PropertySTRValue0 END) AS [SQL TYPE] ,MAX(CASE sql2008.PropertyName0 WHEN 'SPLEVEL' THEN sql2008.PropertyNUMValue0 END) AS [SQL Service Pack] ,MAX(CASE sql2008.PropertyName0 WHEN 'VERSION' THEN sql2008.PropertySTRValue0 END) AS [SQL Version] ,MAX(CASE sql2008.PropertyName0 WHEN 'FILEVERSION' THEN sql2008.PropertySTRValue0 END) AS [SQL CU Version] FROM v_r_system_valid VRS LEFT JOIN v_GS_CUSTOM_SQL2008 sql2008 ON sql2008.ResourceID = VRS.ResourceID WHERE sql2008.PropertyName0 IN ('SKUNAME','SPLevel','version','fileversion') --AND PropertySTRValue0 NOT LIKE 'Express%' --AND PropertySTRValue0 NOT LIKE 'Windows Internal Database%' --AND sql2008.ServiceName0 <> 'SQLBrowser' GROUP BY VRS.Netbios_name0, sql2008.ServiceName0 -- SQL Legacy UNION ALL SELECT VRS.Netbios_name0 [ComputerName], MAX(CASE sqlLgcy.PropertyName0 WHEN 'SKUName' THEN sqlLgcy.PropertySTRValue0 END) AS [SQL TYPE] ,MAX(CASE sqlLgcy.PropertyName0 WHEN 'SPLEVEL' THEN sqlLgcy.PropertyNUMValue0 END) AS [SQL Service Pack] ,MAX(CASE sqlLgcy.PropertyName0 WHEN 'VERSION' THEN sqlLgcy.PropertySTRValue0 END) AS [SQL Version] ,MAX(CASE sqlLgcy.PropertyName0 WHEN 'FILEVERSION' THEN sqlLgcy.PropertySTRValue0 END) AS [SQL CU Version] FROM v_R_System VRS LEFT JOIN v_GS_CUSTOM_SQL2000AND2005 sqlLgcy ON sqlLgcy.ResourceID = VRS.ResourceID WHERE sqlLgcy.PropertyName0 IN ('SKUNAME','SPLevel','version','fileversion') --AND PropertySTRValue0 NOT LIKE 'Express%' --AND PropertySTRValue0 NOT LIKE 'Windows Internal Database%' --AND sqlLgcy.ServiceName0 <> 'SQLBrowser' GROUP BY VRS.Netbios_Name0, sqlLgcy.ServiceName0 ) SQLInv WHERE [SQL TYPE] NOT LIKE 'Express%' AND [SQL TYPE] NOT LIKE 'Windows Internal Database%' ORDER BY ComputerName
Thank you,
Martin