diff --git a/plugins/inputs/sqlserver/azuresqlqueries.go b/plugins/inputs/sqlserver/azuresqlqueries.go index 2358a12c3..03da02e87 100644 --- a/plugins/inputs/sqlserver/azuresqlqueries.go +++ b/plugins/inputs/sqlserver/azuresqlqueries.go @@ -456,13 +456,17 @@ WITH PerfCounters AS ( ,'Readahead pages/sec' ,'Lazy writes/sec' ,'Checkpoint pages/sec' + ,'Table Lock Escalations/sec' ,'Page life expectancy' ,'Log File(s) Size (KB)' ,'Log File(s) Used Size (KB)' ,'Data File(s) Size (KB)' ,'Transactions/sec' ,'Write Transactions/sec' + ,'Active Transactions' + ,'Log Growths' ,'Active Temp Tables' + ,'Logical Connections' ,'Temp Tables Creation Rate' ,'Temp Tables For Destruction' ,'Free Space in tempdb (KB)' @@ -519,6 +523,9 @@ WITH PerfCounters AS ( ,'Mirrored Write Transactions/sec' ,'Group Commit Time' ,'Group Commits/Sec' + ,'Distributed Query' + ,'DTC calls' + ,'Query Store CPU usage' ) OR ( spi.[object_name] LIKE '%User Settable%' OR spi.[object_name] LIKE '%SQL Errors%' @@ -988,13 +995,17 @@ WITH PerfCounters AS ( ,'Readahead pages/sec' ,'Lazy writes/sec' ,'Checkpoint pages/sec' + ,'Table Lock Escalations/sec' ,'Page life expectancy' ,'Log File(s) Size (KB)' ,'Log File(s) Used Size (KB)' ,'Data File(s) Size (KB)' ,'Transactions/sec' ,'Write Transactions/sec' + ,'Active Transactions' + ,'Log Growths' ,'Active Temp Tables' + ,'Logical Connections' ,'Temp Tables Creation Rate' ,'Temp Tables For Destruction' ,'Free Space in tempdb (KB)' @@ -1051,6 +1062,9 @@ WITH PerfCounters AS ( ,'Mirrored Write Transactions/sec' ,'Group Commit Time' ,'Group Commits/Sec' + ,'Distributed Query' + ,'DTC calls' + ,'Query Store CPU usage' ) OR ( spi.[object_name] LIKE '%User Settable%' OR spi.[object_name] LIKE '%SQL Errors%' diff --git a/plugins/inputs/sqlserver/sqlserverqueries.go b/plugins/inputs/sqlserver/sqlserverqueries.go index 2af8e1eb7..a2ef3ca3c 100644 --- a/plugins/inputs/sqlserver/sqlserverqueries.go +++ b/plugins/inputs/sqlserver/sqlserverqueries.go @@ -282,6 +282,17 @@ FROM sys.dm_os_schedulers AS s' EXEC sp_executesql @SqlStatement ` +/* +This string defines a SQL statements to retrieve Performance Counters as documented here - + SQL Server Performance Objects - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/use-sql-server-objects?view=sql-server-ver15#SQLServerPOs +Some of the specific objects used are - + MSSQL$*:Access Methods - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-access-methods-object?view=sql-server-ver15 + MSSQL$*:Buffer Manager - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-manager-object?view=sql-server-ver15 + MSSQL$*:Databases - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-databases-object?view=sql-server-ver15 + MSSQL$*:General Statistics - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-general-statistics-object?view=sql-server-ver15 + MSSQL$*:Exec Statistics - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-execstatistics-object?view=sql-server-ver15 + SQLServer:Query Store - https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-query-store-object?view=sql-server-ver15 +*/ const sqlServerPerformanceCounters string = ` SET DEADLOCK_PRIORITY -10; IF SERVERPROPERTY('EngineEdition') NOT IN (2,3,4) BEGIN /*NOT IN Standard,Enterpris,Express*/ @@ -331,13 +342,17 @@ SELECT DISTINCT ,'Readahead pages/sec' ,'Lazy writes/sec' ,'Checkpoint pages/sec' + ,'Table Lock Escalations/sec' ,'Page life expectancy' ,'Log File(s) Size (KB)' ,'Log File(s) Used Size (KB)' ,'Data File(s) Size (KB)' ,'Transactions/sec' ,'Write Transactions/sec' + ,'Active Transactions' + ,'Log Growths' ,'Active Temp Tables' + ,'Logical Connections' ,'Temp Tables Creation Rate' ,'Temp Tables For Destruction' ,'Free Space in tempdb (KB)' @@ -394,6 +409,9 @@ SELECT DISTINCT ,'Mirrored Write Transactions/sec' ,'Group Commit Time' ,'Group Commits/Sec' + ,'Distributed Query' + ,'DTC calls' + ,'Query Store CPU usage' ) OR ( spi.[object_name] LIKE '%User Settable%' OR spi.[object_name] LIKE '%SQL Errors%'