From 8457ef280859503ae43dd9496f255766bb062217 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Jan 2016 20:30:02 +0100 Subject: [PATCH] Add sqlserver input plugin --- Godeps | 1 + plugins/inputs/all/all.go | 1 + plugins/inputs/sqlserver/README.md | 50 + plugins/inputs/sqlserver/sqlserver.go | 1512 ++++++++++++++++++++ plugins/inputs/sqlserver/sqlserver_test.go | 1234 ++++++++++++++++ 5 files changed, 2798 insertions(+) create mode 100644 plugins/inputs/sqlserver/README.md create mode 100644 plugins/inputs/sqlserver/sqlserver.go create mode 100644 plugins/inputs/sqlserver/sqlserver_test.go diff --git a/Godeps b/Godeps index 2baca6b31..1e048bfaa 100644 --- a/Godeps +++ b/Godeps @@ -47,6 +47,7 @@ github.com/stretchr/objx 1a9d0bb9f541897e62256577b352fdbc1fb4fd94 github.com/stretchr/testify f390dcf405f7b83c997eac1b06768bb9f44dec18 github.com/wvanbergen/kafka 1a8639a45164fcc245d5c7b4bd3ccfbd1a0ffbf3 github.com/wvanbergen/kazoo-go 0f768712ae6f76454f987c3356177e138df258f8 +github.com/zensqlmonitor/go-mssqldb ffe5510c6fa5e15e6d983210ab501c815b56b363 golang.org/x/crypto 3760e016850398b85094c4c99e955b8c3dea5711 golang.org/x/net 72aa00c6241a8013dc9b040abb45f57edbe73945 golang.org/x/text cf4986612c83df6c55578ba198316d1684a9a287 diff --git a/plugins/inputs/all/all.go b/plugins/inputs/all/all.go index e3c7a30bc..a83d788c8 100644 --- a/plugins/inputs/all/all.go +++ b/plugins/inputs/all/all.go @@ -33,6 +33,7 @@ import ( _ "github.com/influxdata/telegraf/plugins/inputs/rethinkdb" _ "github.com/influxdata/telegraf/plugins/inputs/sensors" _ "github.com/influxdata/telegraf/plugins/inputs/snmp" + _ "github.com/influxdata/telegraf/plugins/inputs/sqlserver" _ "github.com/influxdata/telegraf/plugins/inputs/statsd" _ "github.com/influxdata/telegraf/plugins/inputs/system" _ "github.com/influxdata/telegraf/plugins/inputs/trig" diff --git a/plugins/inputs/sqlserver/README.md b/plugins/inputs/sqlserver/README.md new file mode 100644 index 000000000..e67530175 --- /dev/null +++ b/plugins/inputs/sqlserver/README.md @@ -0,0 +1,50 @@ +# SQL Server plugin + +This sqlserver plugin provides metrics for your SQL Server instance. +It currently works with SQL Server versions 2008+. +Recorded metrics are lightweight and use Dynamic Management Views supplied by SQL Server: +``` +Performance counters : 1000+ metrics from sys.dm_os_performance_counters +Performance metrics : special performance and ratio metrics +Wait stats : wait tasks categorized from sys.dm_os_wait_stats +Memory clerk : memory breakdown from sys.dm_os_memory_clerks +Database size : databases size trend from sys.dm_io_virtual_file_stats +Database IO : databases I/O from sys.dm_io_virtual_file_stats +Database latency : databases latency from sys.dm_io_virtual_file_stats +Database properties : databases properties, state and recovery model, from sys.databases +OS Volume : available, used and total space from sys.dm_os_volume_stats +CPU : cpu usage from sys.dm_os_ring_buffers +``` + +You must create a login on every instance you want to monitor, with following script: +```SQL +USE master; +GO +CREATE LOGIN [telegraf] WITH PASSWORD = N'mystrongpassword'; +GO +GRANT VIEW SERVER STATE TO [telegraf]; +GO +GRANT VIEW ANY DEFINITION TO [telegraf]; +GO +``` + +Overview +![telegraf-sqlserver-0](https://cloud.githubusercontent.com/assets/16494280/12538189/ec1b70aa-c2d3-11e5-97ec-1a4f575e8a07.png) + +General Activity +![telegraf-sqlserver-1](https://cloud.githubusercontent.com/assets/16494280/12591410/f098b602-c467-11e5-9acf-2edea077ed7e.png) + +Memory +![telegraf-sqlserver-2](https://cloud.githubusercontent.com/assets/16494280/12591412/f2075688-c467-11e5-9d0f-d256e032cd0e.png) + +I/O +![telegraf-sqlserver-3](https://cloud.githubusercontent.com/assets/16494280/12591417/f40ccb84-c467-11e5-89ff-498fb1bc3110.png) + +Disks +![telegraf-sqlserver-4](https://cloud.githubusercontent.com/assets/16494280/12591420/f5de5f68-c467-11e5-90c8-9185444ac490.png) + +CPU +![telegraf-sqlserver-5](https://cloud.githubusercontent.com/assets/16494280/12591446/11dfe7b8-c468-11e5-9681-6e33296e70e8.png) + +Full view +![telegraf-sqlserver-full](https://cloud.githubusercontent.com/assets/16494280/12591426/fa2b17b4-c467-11e5-9c00-929f4c4aea57.png) diff --git a/plugins/inputs/sqlserver/sqlserver.go b/plugins/inputs/sqlserver/sqlserver.go new file mode 100644 index 000000000..fe43aa4c6 --- /dev/null +++ b/plugins/inputs/sqlserver/sqlserver.go @@ -0,0 +1,1512 @@ +package sqlserver + +import ( + "database/sql" + "github.com/influxdata/telegraf/plugins/inputs" + "sync" + "time" + + // go-mssqldb initialization + _ "github.com/zensqlmonitor/go-mssqldb" +) + +// SQLServer struct +type SQLServer struct { + Servers []string +} + +// Query struct +type Query struct { + Script string + ResultByRow bool + OrderedColumns []string +} + +// MapQuery type +type MapQuery map[string]Query + +var queries MapQuery + +var defaultServer = "Server=.;app name=telegraf;log=1;" + +var sampleConfig = ` + # Specify instances to monitor with a list of connection strings. + # All connection parameters are optional. + # By default, the host is localhost, listening on default port, TCP 1433 and, + # for Windows, the user is the currently running AD user (SSO). + # See https://github.com/denisenkom/go-mssqldb for detailed connection parameters. + + # servers = ["Server=192.168.1.10;Port=1433;User Id=telegraf;Password=T$l$gr@f69*;app name=telegraf;log=1;"] +` + +// SampleConfig return the sample configuration +func (s *SQLServer) SampleConfig() string { + return sampleConfig +} + +// Description return plugin description +func (s *SQLServer) Description() string { + return "Read metrics from Microsoft SQL Server" +} + +type scanner interface { + Scan(dest ...interface{}) error +} + +func initQueries() { + + queries = make(MapQuery) + queries["PerformanceCounters"] = Query{Script: sqlPerformanceCounters, ResultByRow: true} + queries["WaitStatsCategorized"] = Query{Script: sqlWaitStatsCategorized, ResultByRow: false} + queries["CPUHistory"] = Query{Script: sqlCPUHistory, ResultByRow: false} + queries["DatabaseIO"] = Query{Script: sqlDatabaseIO, ResultByRow: false} + queries["DatabaseSize"] = Query{Script: sqlDatabaseSize, ResultByRow: false} + queries["DatabaseStats"] = Query{Script: sqlDatabaseStats, ResultByRow: false} + queries["DatabaseProperties"] = Query{Script: sqlDatabaseProperties, ResultByRow: false} + queries["MemoryClerk"] = Query{Script: sqlMemoryClerk, ResultByRow: false} + queries["VolumeSpace"] = Query{Script: sqlVolumeSpace, ResultByRow: false} + queries["PerformanceMetrics"] = Query{Script: sqlPerformanceMetrics, ResultByRow: false} +} + +// Gather collect data from SQL Server +func (s *SQLServer) Gather(acc inputs.Accumulator) error { + + initQueries() + + if len(s.Servers) == 0 { + s.Servers = append(s.Servers, defaultServer) + } + + var wg sync.WaitGroup + var outerr error + + for _, serv := range s.Servers { + for _, query := range queries { + wg.Add(1) + go func(serv string, query Query) { + defer wg.Done() + outerr = s.gatherServer(serv, query, acc) + }(serv, query) + } + } + + wg.Wait() + return outerr +} + +func (s *SQLServer) gatherServer(server string, query Query, acc inputs.Accumulator) error { + + // deferred opening + conn, err := sql.Open("mssql", server) + if err != nil { + return err + } + // verify that a connection can be made before making a query + err = conn.Ping() + if err != nil { + // Handle error + return err + } + defer conn.Close() + + // execute query + rows, err := conn.Query(query.Script) + if err != nil { + return err + } + defer rows.Close() + + // grab the column information from the result + query.OrderedColumns, err = rows.Columns() + if err != nil { + return err + } + + for rows.Next() { + err = s.accRow(query, acc, rows) + if err != nil { + return err + } + } + return rows.Err() +} + +func (s *SQLServer) accRow(query Query, acc inputs.Accumulator, row scanner) error { + + var columnVars []interface{} + var fields = make(map[string]interface{}) + + // store the column name with its *interface{} + columnMap := make(map[string]*interface{}) + for _, column := range query.OrderedColumns { + columnMap[column] = new(interface{}) + } + // populate the array of interface{} with the pointers in the right order + for i := 0; i < len(columnMap); i++ { + columnVars = append(columnVars, columnMap[query.OrderedColumns[i]]) + } + // deconstruct array of variables and send to Scan + err := row.Scan(columnVars...) + if err != nil { + return err + } + + // measurement: identified by the header + // tags: all other fields of type string + tags := map[string]string{} + var measurement string + for header, val := range columnMap { + if str, ok := (*val).(string); ok { + if header == "measurement" { + measurement = str + } else { + tags[header] = str + } + } + } + + if query.ResultByRow { + // add measurement to Accumulator + acc.Add(measurement, *columnMap["value"], tags, time.Now()) + } else { + // values + for header, val := range columnMap { + if _, ok := (*val).(string); !ok { + fields[header] = (*val) + } + } + // add fields to Accumulator + acc.AddFields(measurement, fields, tags, time.Now()) + } + return nil +} + +func init() { + inputs.Add("sqlserver", func() inputs.Input { + return &SQLServer{} + }) +} + +// queries +const sqlPerformanceMetrics string = `SET NOCOUNT ON; +SET ARITHABORT ON; +SET QUOTED_IDENTIFIER ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED + +DECLARE @PCounters TABLE +( + counter_name nvarchar(64), + cntr_value bigint, + Primary Key(counter_name) +); + +INSERT @PCounters (counter_name, cntr_value) +SELECT 'Point In Time Recovery', Value = CASE + WHEN 1 > 1.0 * COUNT(*) / NULLIF((SELECT COUNT(*) FROM sys.databases d WHERE database_id > 4), 0) + THEN 0 ELSE 1 END +FROM sys.databases d +WHERE database_id > 4 + AND recovery_model IN (1) +UNION ALL +SELECT 'Page File Usage (%)', CAST(100 * (1 - available_page_file_kb * 1. / total_page_file_kb) as decimal(9,2)) as [PageFileUsage (%)] +FROM sys.dm_os_sys_memory +UNION ALL +SELECT 'Connection memory per connection (bytes)', Ratio = CAST((cntr_value / (SELECT 1.0 * cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'User Connections')) * 1024 as int) +FROM sys.dm_os_performance_counters +WHERE counter_name = 'Connection Memory (KB)' +UNION ALL +SELECT 'Available physical memory (bytes)', available_physical_memory_kb * 1024 +FROM sys.dm_os_sys_memory +UNION ALL +SELECT 'Signal wait (%)', SignalWaitPercent = CAST(100.0 * SUM(signal_wait_time_ms) / SUM (wait_time_ms) AS NUMERIC(20,2)) +FROM sys.dm_os_wait_stats +UNION ALL +SELECT 'Sql compilation per batch request', SqlCompilationPercent = 100.0 * cntr_value / (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec') +FROM sys.dm_os_performance_counters +WHERE counter_name = 'SQL Compilations/sec' +UNION ALL +SELECT 'Sql recompilation per batch request', SqlReCompilationPercent = 100.0 *cntr_value / (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec') +FROM sys.dm_os_performance_counters +WHERE counter_name = 'SQL Re-Compilations/sec' +UNION ALL +SELECT 'Page lookup per batch request',PageLookupPercent = 100.0 * cntr_value / (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec') +FROM sys.dm_os_performance_counters +WHERE counter_name = 'Page lookups/sec' +UNION ALL +SELECT 'Page split per batch request',PageSplitPercent = 100.0 * cntr_value / (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'Batch Requests/sec') +FROM sys.dm_os_performance_counters +WHERE counter_name = 'Page splits/sec' +UNION ALL +SELECT 'Average tasks', AverageTaskCount = (SELECT AVG(current_tasks_count) FROM sys.dm_os_schedulers WITH (NOLOCK) WHERE scheduler_id < 255 ) +UNION ALL +SELECT 'Average runnable tasks', AverageRunnableTaskCount = (SELECT AVG(runnable_tasks_count) FROM sys.dm_os_schedulers WITH (NOLOCK) WHERE scheduler_id < 255 ) +UNION ALL +SELECT 'Average pending disk IO', AveragePendingDiskIOCount = (SELECT AVG(pending_disk_io_count) FROM sys.dm_os_schedulers WITH (NOLOCK) WHERE scheduler_id < 255 ) +UNION ALL +SELECT 'Buffer pool rate (bytes/sec)', BufferPoolRate = (1.0*cntr_value * 8 * 1024) / + (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE object_name like '%Buffer Manager%' AND lower(counter_name) = 'Page life expectancy') +FROM sys.dm_os_performance_counters +WHERE object_name like '%Buffer Manager%' +AND counter_name = 'database pages' +UNION ALL +SELECT 'Memory grant pending', MemoryGrantPending = cntr_value +FROM sys.dm_os_performance_counters +WHERE counter_name = 'Memory Grants Pending' +UNION ALL +SELECT 'Readahead per page read', Readahead = 100.0 *cntr_value / (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'Page Reads/sec') +FROM sys.dm_os_performance_counters +WHERE counter_name = 'Readahead pages/sec' +UNION ALL +SELECT 'Total target memory ratio', TotalTargetMemoryRatio = 100.0 * cntr_value / (SELECT 1.0*cntr_value FROM sys.dm_os_performance_counters WHERE counter_name = 'Target Server Memory (KB)') +FROM sys.dm_os_performance_counters +WHERE counter_name = 'Total Server Memory (KB)' + +IF OBJECT_ID('tempdb..#PCounters') IS NOT NULL DROP TABLE #PCounters; +SELECT * INTO #PCounters FROM @PCounters + +DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) +DECLARE @ColumnName AS NVARCHAR(MAX) +SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(counter_name) +FROM (SELECT DISTINCT counter_name FROM @PCounters) AS bl + +SET @DynamicPivotQuery = N' +SELECT measurement = ''Performance metrics'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Performance metrics'' +, ' + @ColumnName + ' FROM +( +SELECT counter_name, cntr_value +FROM #PCounters +) as V +PIVOT(SUM(cntr_value) FOR counter_name IN (' + @ColumnName + ')) AS PVTTable +' +EXEC sp_executesql @DynamicPivotQuery; +` + +const sqlMemoryClerk string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; + +DECLARE @w TABLE (ClerkCategory nvarchar(64) NOT NULL, UsedPercent decimal(9,2), UsedBytes bigint) +INSERT @w (ClerkCategory, UsedPercent, UsedBytes) +SELECT ClerkCategory +, UsedPercent = SUM(UsedPercent) +, UsedBytes = SUM(UsedBytes) +FROM +( +SELECT ClerkCategory = CASE MC.[type] + WHEN 'MEMORYCLERK_SQLBUFFERPOOL' THEN 'Buffer pool' + WHEN 'CACHESTORE_SQLCP' THEN 'Cache (sql plans)' + WHEN 'CACHESTORE_OBJCP' THEN 'Cache (objects)' + ELSE 'Other' END +, SUM(pages_kb * 1024) AS UsedBytes +, Cast(100 * Sum(pages_kb)*1.0/(Select Sum(pages_kb) From sys.dm_os_memory_clerks) as Decimal(7, 4)) UsedPercent +FROM sys.dm_os_memory_clerks MC +WHERE pages_kb > 0 +GROUP BY CASE MC.[type] + WHEN 'MEMORYCLERK_SQLBUFFERPOOL' THEN 'Buffer pool' + WHEN 'CACHESTORE_SQLCP' THEN 'Cache (sql plans)' + WHEN 'CACHESTORE_OBJCP' THEN 'Cache (objects)' + ELSE 'Other' END +) as T +GROUP BY ClerkCategory + +SELECT +-- measurement +measurement +-- tags +, servername= REPLACE(@@SERVERNAME, '\', ':') +, type = 'Memory clerk' +-- value +, [Buffer pool] +, [Cache (objects)] +, [Cache (sql plans)] +, [Other] +FROM +( +SELECT measurement = 'Memory breakdown (%)' +, [Buffer pool] = ISNULL(ROUND([Buffer Pool], 1), 0) +, [Cache (objects)] = ISNULL(ROUND([Cache (objects)], 1), 0) +, [Cache (sql plans)] = ISNULL(ROUND([Cache (sql plans)], 1), 0) +, [Other] = ISNULL(ROUND([Other], 1), 0) +FROM (SELECT ClerkCategory, UsedPercent FROM @w) as G1 +PIVOT +( + SUM(UsedPercent) + FOR ClerkCategory IN ([Buffer Pool], [Cache (objects)], [Cache (sql plans)], [Other]) +) AS PivotTable + +UNION ALL + +SELECT measurement = 'Memory breakdown (bytes)' +, [Buffer pool] = ISNULL(ROUND([Buffer Pool], 1), 0) +, [Cache (objects)] = ISNULL(ROUND([Cache (objects)], 1), 0) +, [Cache (sql plans)] = ISNULL(ROUND([Cache (sql plans)], 1), 0) +, [Other] = ISNULL(ROUND([Other], 1), 0) +FROM (SELECT ClerkCategory, UsedBytes FROM @w) as G2 +PIVOT +( + SUM(UsedBytes) + FOR ClerkCategory IN ([Buffer Pool], [Cache (objects)], [Cache (sql plans)], [Other]) +) AS PivotTable +) as T; +` + +const sqlDatabaseSize string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED + +IF OBJECT_ID('tempdb..#baseline') IS NOT NULL + DROP TABLE #baseline; +SELECT + DB_NAME(mf.database_id) AS database_name , + size_on_disk_bytes , + type_desc as datafile_type, + GETDATE() AS baselineDate +INTO #baseline +FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs +INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id + AND mf.file_id = divfs.file_id + +DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) +DECLARE @ColumnName AS NVARCHAR(MAX), @ColumnName2 AS NVARCHAR(MAX) + +SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(database_name) +FROM (SELECT DISTINCT database_name FROM #baseline) AS bl + +--Prepare the PIVOT query using the dynamic +SET @DynamicPivotQuery = N' +SELECT measurement = ''Log size (bytes)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database size'' +, ' + @ColumnName + ' FROM +( +SELECT database_name, size_on_disk_bytes +FROM #baseline +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(size_on_disk_bytes) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows size (bytes)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database size'' +, ' + @ColumnName + ' FROM +( +SELECT database_name, size_on_disk_bytes +FROM #baseline +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(size_on_disk_bytes) FOR database_name IN (' + @ColumnName + ')) AS PVTTable +' +--PRINT @DynamicPivotQuery +EXEC sp_executesql @DynamicPivotQuery; +` + +const sqlDatabaseStats string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; + +IF OBJECT_ID('tempdb..#baseline') IS NOT NULL + DROP TABLE #baseline; + +SELECT +[ReadLatency] = + CASE WHEN [num_of_reads] = 0 + THEN 0 ELSE ([io_stall_read_ms] / [num_of_reads]) END, +[WriteLatency] = + CASE WHEN [num_of_writes] = 0 + THEN 0 ELSE ([io_stall_write_ms] / [num_of_writes]) END, +[Latency] = + CASE WHEN ([num_of_reads] = 0 AND [num_of_writes] = 0) + THEN 0 ELSE ([io_stall] / ([num_of_reads] + [num_of_writes])) END, +[AvgBytesPerRead] = + CASE WHEN [num_of_reads] = 0 + THEN 0 ELSE ([num_of_bytes_read] / [num_of_reads]) END, +[AvgBytesPerWrite] = + CASE WHEN [num_of_writes] = 0 + THEN 0 ELSE ([num_of_bytes_written] / [num_of_writes]) END, +[AvgBytesPerTransfer] = + CASE WHEN ([num_of_reads] = 0 AND [num_of_writes] = 0) + THEN 0 ELSE + (([num_of_bytes_read] + [num_of_bytes_written]) / + ([num_of_reads] + [num_of_writes])) END, +DB_NAME ([vfs].[database_id]) AS DatabaseName, +[mf].type_desc as datafile_type +INTO #baseline +FROM sys.dm_io_virtual_file_stats (NULL,NULL) AS [vfs] +JOIN sys.master_files AS [mf] ON [vfs].[database_id] = [mf].[database_id] + AND [vfs].[file_id] = [mf].[file_id] + + + +DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) +DECLARE @ColumnName AS NVARCHAR(MAX), @ColumnName2 AS NVARCHAR(MAX) + +SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(DatabaseName) +FROM (SELECT DISTINCT DatabaseName FROM #baseline) AS bl + +--Prepare the PIVOT query using the dynamic +SET @DynamicPivotQuery = N' +SELECT measurement = ''Log read latency (ms)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, ReadLatency +FROM #baseline +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(ReadLatency) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Log write latency (ms)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, WriteLatency +FROM #baseline +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(WriteLatency) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows read latency (ms)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, ReadLatency +FROM #baseline +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(ReadLatency) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows write latency (ms)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, WriteLatency +FROM #baseline +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(WriteLatency) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows (average bytes/read)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, AvgBytesPerRead +FROM #baseline +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(AvgBytesPerRead) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows (average bytes/write)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, AvgBytesPerWrite +FROM #baseline +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(AvgBytesPerWrite) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Log (average bytes/read)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, AvgBytesPerRead +FROM #baseline +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(AvgBytesPerRead) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Log (average bytes/write)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database stats'' +, ' + @ColumnName + ' FROM +( +SELECT DatabaseName, AvgBytesPerWrite +FROM #baseline +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(AvgBytesPerWrite) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable +' +--PRINT @DynamicPivotQuery +EXEC sp_executesql @DynamicPivotQuery; +` + +const sqlDatabaseIO string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +DECLARE @secondsBetween tinyint = 5; +DECLARE @delayInterval char(8) = CONVERT(Char(8), DATEADD(SECOND, @secondsBetween, '00:00:00'), 108); + +IF OBJECT_ID('tempdb..#baseline') IS NOT NULL + DROP TABLE #baseline; +IF OBJECT_ID('tempdb..#baselinewritten') IS NOT NULL + DROP TABLE #baselinewritten; + +SELECT DB_NAME(mf.database_id) AS databaseName , + mf.physical_name, + divfs.num_of_bytes_read, + divfs.num_of_bytes_written, + divfs.num_of_reads, + divfs.num_of_writes, + GETDATE() AS baselineDate +INTO #baseline +FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs +INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id + AND mf.file_id = divfs.file_id + +WAITFOR DELAY @delayInterval; + +;WITH currentLine AS +( + SELECT DB_NAME(mf.database_id) AS databaseName , + type_desc, + mf.physical_name, + divfs.num_of_bytes_read, + divfs.num_of_bytes_written, + divfs.num_of_reads, + divfs.num_of_writes, + GETDATE() AS currentlineDate + FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs + INNER JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id + AND mf.file_id = divfs.file_id +) + +SELECT database_name +, datafile_type +, num_of_bytes_read_persec = SUM(num_of_bytes_read_persec) +, num_of_bytes_written_persec = SUM(num_of_bytes_written_persec) +, num_of_reads_persec = SUM(num_of_reads_persec) +, num_of_writes_persec = SUM(num_of_writes_persec) +INTO #baselinewritten +FROM +( +SELECT + database_name = currentLine.databaseName +, datafile_type = type_desc +, num_of_bytes_read_persec = (currentLine.num_of_bytes_read - T1.num_of_bytes_read) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) +, num_of_bytes_written_persec = (currentLine.num_of_bytes_written - T1.num_of_bytes_written) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) +, num_of_reads_persec = (currentLine.num_of_reads - T1.num_of_reads) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) +, num_of_writes_persec = (currentLine.num_of_writes - T1.num_of_writes) / (DATEDIFF(SECOND,baseLineDate,currentLineDate)) +FROM currentLine +INNER JOIN #baseline T1 ON T1.databaseName = currentLine.databaseName + AND T1.physical_name = currentLine.physical_name +) as T +GROUP BY database_name, datafile_type + +DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) +DECLARE @ColumnName AS NVARCHAR(MAX), @ColumnName2 AS NVARCHAR(MAX) +SELECT @ColumnName = ISNULL(@ColumnName + ',','') + QUOTENAME(database_name) + FROM (SELECT DISTINCT database_name FROM #baselinewritten) AS bl +SELECT @ColumnName2 = ISNULL(@ColumnName2 + '+','') + QUOTENAME(database_name) + FROM (SELECT DISTINCT database_name FROM #baselinewritten) AS bl + +SET @DynamicPivotQuery = N' +SELECT measurement = ''Log writes (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_bytes_written_persec +FROM #baselinewritten +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(num_of_bytes_written_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows writes (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_bytes_written_persec +FROM #baselinewritten +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(num_of_bytes_written_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Log reads (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_bytes_read_persec +FROM #baselinewritten +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(num_of_bytes_read_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows reads (bytes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_bytes_read_persec +FROM #baselinewritten +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(num_of_bytes_read_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Log (writes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_writes_persec +FROM #baselinewritten +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(num_of_writes_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows (writes/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_writes_persec +FROM #baselinewritten +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(num_of_writes_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTabl + +UNION ALL + +SELECT measurement = ''Log (reads/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_reads_persec +FROM #baselinewritten +WHERE datafile_type = ''LOG'' +) as V +PIVOT(SUM(num_of_reads_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Rows (reads/sec)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''Database IO'' +, ' + @ColumnName + ', Total = ' + @ColumnName2 + ' FROM +( +SELECT database_name, num_of_reads_persec +FROM #baselinewritten +WHERE datafile_type = ''ROWS'' +) as V +PIVOT(SUM(num_of_reads_persec) FOR database_name IN (' + @ColumnName + ')) AS PVTTable +' + +EXEC sp_executesql @DynamicPivotQuery; +` + +const sqlDatabaseProperties string = `SET NOCOUNT ON; +SET ARITHABORT ON; +SET QUOTED_IDENTIFIER ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED + +IF OBJECT_ID('tempdb..#Databases') IS NOT NULL + DROP TABLE #Databases; +CREATE TABLE #Databases +( + Measurement nvarchar(64) NOT NULL, + DatabaseName nvarchar(64) NOT NULL, + Value tinyint NOT NULL + Primary Key(DatabaseName, Measurement) +); + +INSERT #Databases ( Measurement, DatabaseName, Value) +SELECT + Measurement = 'Recovery Model FULL' +, DatabaseName = d.Name +, Value = CASE WHEN d.recovery_model = 1 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'Recovery Model BULK_LOGGED' +, DatabaseName = d.Name +, Value = CASE WHEN d.recovery_model = 2 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'Recovery Model SIMPLE' +, DatabaseName = d.Name +, Value = CASE WHEN d.recovery_model = 3 THEN 1 ELSE 0 END +FROM sys.databases d + +UNION ALL +SELECT + Measurement = 'State ONLINE' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 0 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'State RESTORING' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 1 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'State RECOVERING' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 2 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'State RECOVERY_PENDING' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 3 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'State SUSPECT' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 4 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'State EMERGENCY' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 5 THEN 1 ELSE 0 END +FROM sys.databases d +UNION ALL +SELECT + Measurement = 'State OFFLINE' +, DatabaseName = d.Name +, Value = CASE WHEN d.state = 6 THEN 1 ELSE 0 END +FROM sys.databases d + +DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) +DECLARE @ColumnName AS NVARCHAR(MAX) +SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(DatabaseName) +FROM (SELECT DISTINCT DatabaseName FROM #Databases) AS bl + +SET @DynamicPivotQuery = N' +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''Recovery Model FULL'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''Recovery Model BULK_LOGGED'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''Recovery Model SIMPLE'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State ONLINE'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State RESTORING'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State RECOVERING'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State RECOVERY_PENDING'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State SUSPECT'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State EMERGENCY'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = Measurement, servername = REPLACE(@@SERVERNAME, ''\'', '':'') +, type = ''Database properties'' +, ' + @ColumnName + ', total FROM +( +SELECT Measurement, DatabaseName, Value +, Total = (SELECT SUM(Value) FROM #Databases WHERE Measurement = d.Measurement) +FROM #Databases d +WHERE d.Measurement = ''State OFFLINE'' +) as V +PIVOT(SUM(Value) FOR DatabaseName IN (' + @ColumnName + ')) AS PVTTable +' +EXEC sp_executesql @DynamicPivotQuery; +` + +const sqlCPUHistory string = `SET NOCOUNT ON; +SET ARITHABORT ON; +SET QUOTED_IDENTIFIER ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; + +DECLARE @ms_ticks bigint; +SET @ms_ticks = (Select ms_ticks From sys.dm_os_sys_info); +DECLARE @maxEvents int = 1 + +SELECT +---- measurement + measurement = 'CPU (%)' +---- tags +, servername= REPLACE(@@SERVERNAME, '\', ':') +, type = 'CPU usage' +-- value +, [SQL process] = ProcessUtilization +, [External process]= 100 - SystemIdle - ProcessUtilization +, [SystemIdle] +FROM +( +SELECT TOP (@maxEvents) + EventTime = CAST(DateAdd(ms, -1 * (@ms_ticks - timestamp_ms), GetUTCDate()) as datetime) +, ProcessUtilization = CAST(ProcessUtilization as int) +, SystemIdle = CAST(SystemIdle as int) +FROM (SELECT Record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') as SystemIdle, + Record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') as ProcessUtilization, + timestamp as timestamp_ms +FROM (SELECT timestamp, convert(xml, record) As Record + FROM sys.dm_os_ring_buffers + WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' + And record Like '%%') x) y +ORDER BY timestamp_ms Desc +) as T; +` + +const sqlPerformanceCounters string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; +IF OBJECT_ID('tempdb..#PCounters') IS NOT NULL DROP TABLE #PCounters +CREATE TABLE #PCounters +( + object_name nvarchar(128), + counter_name nvarchar(128), + instance_name nvarchar(128), + cntr_value bigint, + cntr_type INT, + Primary Key(object_name, counter_name, instance_name) +); +INSERT #PCounters +SELECT RTrim(spi.object_name) object_name +, RTrim(spi.counter_name) counter_name +, RTrim(spi.instance_name) instance_name +, spi.cntr_value +, spi.cntr_type +FROM sys.dm_os_performance_counters spi +WHERE spi.object_name NOT LIKE 'SQLServer:Backup Device%' + AND NOT EXISTS (SELECT 1 FROM sys.databases WHERE Name = spi.instance_name); + +WAITFOR DELAY '00:00:01'; + +IF OBJECT_ID('tempdb..#CCounters') IS NOT NULL DROP TABLE #CCounters +CREATE TABLE #CCounters +( + object_name nvarchar(128), + counter_name nvarchar(128), + instance_name nvarchar(128), + cntr_value bigint, + cntr_type INT, + Primary Key(object_name, counter_name, instance_name) +); +INSERT #CCounters +SELECT RTrim(spi.object_name) object_name +, RTrim(spi.counter_name) counter_name +, RTrim(spi.instance_name) instance_name +, spi.cntr_value +, spi.cntr_type +FROM sys.dm_os_performance_counters spi +WHERE spi.object_name NOT LIKE 'SQLServer:Backup Device%' + AND NOT EXISTS (SELECT 1 FROM sys.databases WHERE Name = spi.instance_name); + +SELECT + measurement = cc.counter_name + + CASE WHEN LEN(cc.instance_name) > 0 THEN ' | ' + cc.instance_name ELSE '' END + + ' | ' + + SUBSTRING( cc.object_name, CHARINDEX(':', cc.object_name) + 1, LEN( cc.object_name) - CHARINDEX(':', cc.object_name)) +-- tags +, servername = REPLACE(@@SERVERNAME, '\', ':') +, type = 'Performance counters' +--, countertype = CASE cc.cntr_type +-- When 65792 Then 'Count' +-- When 537003264 Then 'Ratio' +-- When 272696576 Then 'Per second' +-- When 1073874176 Then 'Average' +-- When 272696320 Then 'Average Per Second' +-- When 1073939712 Then 'Base' +-- END +-- value +, value = CAST(CASE cc.cntr_type + When 65792 Then cc.cntr_value -- Count + When 537003264 Then IsNull(Cast(cc.cntr_value as Money) / NullIf(cbc.cntr_value, 0), 0) -- Ratio + When 272696576 Then cc.cntr_value - pc.cntr_value -- Per Second + When 1073874176 Then IsNull(Cast(cc.cntr_value - pc.cntr_value as Money) / NullIf(cbc.cntr_value - pbc.cntr_value, 0), 0) -- Avg + When 272696320 Then IsNull(Cast(cc.cntr_value - pc.cntr_value as Money) / NullIf(cbc.cntr_value - pbc.cntr_value, 0), 0) -- Avg/sec + When 1073939712 Then cc.cntr_value - pc.cntr_value -- Base + Else cc.cntr_value End as int) +--, currentvalue= CAST(cc.cntr_value as bigint) +FROM #CCounters cc +INNER JOIN #PCounters pc On cc.object_name = pc.object_name + And cc.counter_name = pc.counter_name + And cc.instance_name = pc.instance_name + And cc.cntr_type = pc.cntr_type +LEFT JOIN #CCounters cbc On cc.object_name = cbc.object_name + And (Case When cc.counter_name Like '%(ms)' Then Replace(cc.counter_name, ' (ms)',' Base') + When cc.object_name = 'SQLServer:FileTable' Then Replace(cc.counter_name, 'Avg ','') + ' base' + When cc.counter_name = 'Worktables From Cache Ratio' Then 'Worktables From Cache Base' + When cc.counter_name = 'Avg. Length of Batched Writes' Then 'Avg. Length of Batched Writes BS' + Else cc.counter_name + ' base' + End) = cbc.counter_name + And cc.instance_name = cbc.instance_name + And cc.cntr_type In (537003264, 1073874176) + And cbc.cntr_type = 1073939712 +LEFT JOIN #PCounters pbc On pc.object_name = pbc.object_name + And pc.instance_name = pbc.instance_name + And (Case When pc.counter_name Like '%(ms)' Then Replace(pc.counter_name, ' (ms)',' Base') + When pc.object_name = 'SQLServer:FileTable' Then Replace(pc.counter_name, 'Avg ','') + ' base' + When pc.counter_name = 'Worktables From Cache Ratio' Then 'Worktables From Cache Base' + When pc.counter_name = 'Avg. Length of Batched Writes' Then 'Avg. Length of Batched Writes BS' + Else pc.counter_name + ' base' + End) = pbc.counter_name + And pc.cntr_type In (537003264, 1073874176) + +IF OBJECT_ID('tempdb..#CCounters') IS NOT NULL DROP TABLE #CCounters; +IF OBJECT_ID('tempdb..#PCounters') IS NOT NULL DROP TABLE #PCounters; +` + +const sqlWaitStatsCategorized string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED +DECLARE @secondsBetween tinyint = 5 +DECLARE @delayInterval char(8) = CONVERT(Char(8), DATEADD(SECOND, @secondsBetween, '00:00:00'), 108); + +DECLARE @w1 TABLE +( + WaitType nvarchar(64) NOT NULL, + WaitTimeInMs bigint NOT NULL, + WaitTaskCount bigint NOT NULL, + CollectionDate datetime NOT NULL +) +DECLARE @w2 TABLE +( + WaitType nvarchar(64) NOT NULL, + WaitTimeInMs bigint NOT NULL, + WaitTaskCount bigint NOT NULL, + CollectionDate datetime NOT NULL +) +DECLARE @w3 TABLE +( + WaitType nvarchar(64) NOT NULL +) +DECLARE @w4 TABLE +( + WaitType nvarchar(64) NOT NULL, + WaitCategory nvarchar(64) NOT NULL +) +DECLARE @w5 TABLE +( + WaitCategory nvarchar(16) NOT NULL, + WaitTimeInMs bigint NOT NULL, + WaitTaskCount bigint NOT NULL +) + +INSERT @w3 (WaitType) +VALUES (N'QDS_SHUTDOWN_QUEUE'), (N'HADR_FILESTREAM_IOMGR_IOCOMPLETION'), + (N'BROKER_EVENTHANDLER'), (N'BROKER_RECEIVE_WAITFOR'), + (N'BROKER_TASK_STOP'), (N'BROKER_TO_FLUSH'), + (N'BROKER_TRANSMITTER'), (N'CHECKPOINT_QUEUE'), + (N'CHKPT'), (N'CLR_AUTO_EVENT'), + (N'CLR_MANUAL_EVENT'), (N'CLR_SEMAPHORE'), + (N'DBMIRROR_DBM_EVENT'), (N'DBMIRROR_EVENTS_QUEUE'), + (N'DBMIRROR_WORKER_QUEUE'), (N'DBMIRRORING_CMD'), + (N'DIRTY_PAGE_POLL'), (N'DISPATCHER_QUEUE_SEMAPHORE'), + (N'EXECSYNC'), (N'FSAGENT'), + (N'FT_IFTS_SCHEDULER_IDLE_WAIT'), (N'FT_IFTSHC_MUTEX'), + (N'HADR_CLUSAPI_CALL'), (N'HADR_FILESTREAM_IOMGR_IOCOMPLETIO(N'), + (N'HADR_LOGCAPTURE_WAIT'), (N'HADR_NOTIFICATION_DEQUEUE'), + (N'HADR_TIMER_TASK'), (N'HADR_WORK_QUEUE'), + (N'KSOURCE_WAKEUP'), (N'LAZYWRITER_SLEEP'), + (N'LOGMGR_QUEUE'), (N'ONDEMAND_TASK_QUEUE'), + (N'PWAIT_ALL_COMPONENTS_INITIALIZED'), + (N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP'), + (N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP'), + (N'REQUEST_FOR_DEADLOCK_SEARCH'), (N'RESOURCE_QUEUE'), + (N'SERVER_IDLE_CHECK'), (N'SLEEP_BPOOL_FLUSH'), + (N'SLEEP_DBSTARTUP'), (N'SLEEP_DCOMSTARTUP'), + (N'SLEEP_MASTERDBREADY'), (N'SLEEP_MASTERMDREADY'), + (N'SLEEP_MASTERUPGRADED'), (N'SLEEP_MSDBSTARTUP'), + (N'SLEEP_SYSTEMTASK'), (N'SLEEP_TASK'), + (N'SLEEP_TEMPDBSTARTUP'), (N'SNI_HTTP_ACCEPT'), + (N'SP_SERVER_DIAGNOSTICS_SLEEP'), (N'SQLTRACE_BUFFER_FLUSH'), + (N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP'), + (N'SQLTRACE_WAIT_ENTRIES'), (N'WAIT_FOR_RESULTS'), + (N'WAITFOR'), (N'WAITFOR_TASKSHUTDOW(N'), + (N'WAIT_XTP_HOST_WAIT'), (N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG'), + (N'WAIT_XTP_CKPT_CLOSE'), (N'XE_DISPATCHER_JOI(N'), + (N'XE_DISPATCHER_WAIT'), (N'XE_TIMER_EVENT'); + +INSERT @w4 (WaitType, WaitCategory) VALUES ('ABR', 'OTHER') , +('ASSEMBLY_LOAD' , 'OTHER') , ('ASYNC_DISKPOOL_LOCK' , 'I/O') , ('ASYNC_IO_COMPLETION' , 'I/O') , +('ASYNC_NETWORK_IO' , 'NETWORK') , ('AUDIT_GROUPCACHE_LOCK' , 'OTHER') , ('AUDIT_LOGINCACHE_LOCK' , +'OTHER') , ('AUDIT_ON_DEMAND_TARGET_LOCK' , 'OTHER') , ('AUDIT_XE_SESSION_MGR' , 'OTHER') , ('BACKUP' , +'BACKUP') , ('BACKUP_CLIENTLOCK ' , 'BACKUP') , ('BACKUP_OPERATOR' , 'BACKUP') , ('BACKUPBUFFER' , +'BACKUP') , ('BACKUPIO' , 'BACKUP') , ('BACKUPTHREAD' , 'BACKUP') , ('BAD_PAGE_PROCESS' , 'MEMORY') , +('BROKER_CONNECTION_RECEIVE_TASK' , 'SERVICE BROKER') , ('BROKER_ENDPOINT_STATE_MUTEX' , 'SERVICE BROKER') +, ('BROKER_EVENTHANDLER' , 'SERVICE BROKER') , ('BROKER_INIT' , 'SERVICE BROKER') , ('BROKER_MASTERSTART' +, 'SERVICE BROKER') , ('BROKER_RECEIVE_WAITFOR' , 'SERVICE BROKER') , ('BROKER_REGISTERALLENDPOINTS' , +'SERVICE BROKER') , ('BROKER_SERVICE' , 'SERVICE BROKER') , ('BROKER_SHUTDOWN' , 'SERVICE BROKER') , +('BROKER_TASK_STOP' , 'SERVICE BROKER') , ('BROKER_TO_FLUSH' , 'SERVICE BROKER') , ('BROKER_TRANSMITTER' , +'SERVICE BROKER') , ('BUILTIN_HASHKEY_MUTEX' , 'OTHER') , ('CHECK_PRINT_RECORD' , 'OTHER') , +('CHECKPOINT_QUEUE' , 'BUFFER') , ('CHKPT' , 'BUFFER') , ('CLEAR_DB' , 'OTHER') , ('CLR_AUTO_EVENT' , +'CLR') , ('CLR_CRST' , 'CLR') , ('CLR_JOIN' , 'CLR') , ('CLR_MANUAL_EVENT' , 'CLR') , ('CLR_MEMORY_SPY' , +'CLR') , ('CLR_MONITOR' , 'CLR') , ('CLR_RWLOCK_READER' , 'CLR') , ('CLR_RWLOCK_WRITER' , 'CLR') , +('CLR_SEMAPHORE' , 'CLR') , ('CLR_TASK_START' , 'CLR') , ('CLRHOST_STATE_ACCESS' , 'CLR') , ('CMEMTHREAD' +, 'MEMORY') , ('COMMIT_TABLE' , 'OTHER') , ('CURSOR' , 'OTHER') , ('CURSOR_ASYNC' , 'OTHER') , ('CXPACKET' +, 'OTHER') , ('CXROWSET_SYNC' , 'OTHER') , ('DAC_INIT' , 'OTHER') , ('DBMIRROR_DBM_EVENT ' , 'OTHER') , +('DBMIRROR_DBM_MUTEX ' , 'OTHER') , ('DBMIRROR_EVENTS_QUEUE' , 'OTHER') , ('DBMIRROR_SEND' , 'OTHER') , +('DBMIRROR_WORKER_QUEUE' , 'OTHER') , ('DBMIRRORING_CMD' , 'OTHER') , ('DBTABLE' , 'OTHER') , +('DEADLOCK_ENUM_MUTEX' , 'LOCK') , ('DEADLOCK_TASK_SEARCH' , 'LOCK') , ('DEBUG' , 'OTHER') , +('DISABLE_VERSIONING' , 'OTHER') , ('DISKIO_SUSPEND' , 'BACKUP') , ('DISPATCHER_QUEUE_SEMAPHORE' , +'OTHER') , ('DLL_LOADING_MUTEX' , 'XML') , ('DROPTEMP' , 'TEMPORARY OBJECTS') , ('DTC' , 'OTHER') , +('DTC_ABORT_REQUEST' , 'OTHER') , ('DTC_RESOLVE' , 'OTHER') , ('DTC_STATE' , 'DOTHERTC') , +('DTC_TMDOWN_REQUEST' , 'OTHER') , ('DTC_WAITFOR_OUTCOME' , 'OTHER') , ('DUMP_LOG_COORDINATOR' , 'OTHER') +, ('DUMP_LOG_COORDINATOR_QUEUE' , 'OTHER') , ('DUMPTRIGGER' , 'OTHER') , ('EC' , 'OTHER') , ('EE_PMOLOCK' +, 'MEMORY') , ('EE_SPECPROC_MAP_INIT' , 'OTHER') , ('ENABLE_VERSIONING' , 'OTHER') , +('ERROR_REPORTING_MANAGER' , 'OTHER') , ('EXCHANGE' , 'OTHER') , ('EXECSYNC' , 'OTHER') , +('EXECUTION_PIPE_EVENT_OTHER' , 'OTHER') , ('Failpoint' , 'OTHER') , ('FCB_REPLICA_READ' , 'OTHER') , +('FCB_REPLICA_WRITE' , 'OTHER') , ('FS_FC_RWLOCK' , 'OTHER') , ('FS_GARBAGE_COLLECTOR_SHUTDOWN' , 'OTHER') +, ('FS_HEADER_RWLOCK' , 'OTHER') , ('FS_LOGTRUNC_RWLOCK' , 'OTHER') , ('FSA_FORCE_OWN_XACT' , 'OTHER') , +('FSAGENT' , 'OTHER') , ('FSTR_CONFIG_MUTEX' , 'OTHER') , ('FSTR_CONFIG_RWLOCK' , 'OTHER') , +('FT_COMPROWSET_RWLOCK' , 'OTHER') , ('FT_IFTS_RWLOCK' , 'OTHER') , ('FT_IFTS_SCHEDULER_IDLE_WAIT' , +'OTHER') , ('FT_IFTSHC_MUTEX' , 'OTHER') , ('FT_IFTSISM_MUTEX' , 'OTHER') , ('FT_MASTER_MERGE' , 'OTHER') +, ('FT_METADATA_MUTEX' , 'OTHER') , ('FT_RESTART_CRAWL' , 'OTHER') , ('FT_RESUME_CRAWL' , 'OTHER') , +('FULLTEXT GATHERER' , 'OTHER') , ('GUARDIAN' , 'OTHER') , ('HTTP_ENDPOINT_COLLCREATE' , 'SERVICE BROKER') +, ('HTTP_ENUMERATION' , 'SERVICE BROKER') , ('HTTP_START' , 'SERVICE BROKER') , ('IMP_IMPORT_MUTEX' , +'OTHER') , ('IMPPROV_IOWAIT' , 'I/O') , ('INDEX_USAGE_STATS_MUTEX' , 'OTHER') , ('OTHER_TESTING' , +'OTHER') , ('IO_AUDIT_MUTEX' , 'OTHER') , ('IO_COMPLETION' , 'I/O') , ('IO_RETRY' , 'I/O') , +('IOAFF_RANGE_QUEUE' , 'OTHER') , ('KSOURCE_WAKEUP' , 'SHUTDOWN') , ('KTM_ENLISTMENT' , 'OTHER') , +('KTM_RECOVERY_MANAGER' , 'OTHER') , ('KTM_RECOVERY_RESOLUTION' , 'OTHER') , ('LATCH_DT' , 'LATCH') , +('LATCH_EX' , 'LATCH') , ('LATCH_KP' , 'LATCH') , ('LATCH_NL' , 'LATCH') , ('LATCH_SH' , 'LATCH') , +('LATCH_UP' , 'LATCH') , ('LAZYWRITER_SLEEP' , 'BUFFER') , ('LCK_M_BU' , 'LOCK') , ('LCK_M_IS' , 'LOCK') , +('LCK_M_IU' , 'LOCK') , ('LCK_M_IX' , 'LOCK') , ('LCK_M_RIn_NL' , 'LOCK') , ('LCK_M_RIn_S' , 'LOCK') , +('LCK_M_RIn_U' , 'LOCK') , ('LCK_M_RIn_X' , 'LOCK') , ('LCK_M_RS_S' , 'LOCK') , ('LCK_M_RS_U' , 'LOCK') , +('LCK_M_RX_S' , 'LOCK') , ('LCK_M_RX_U' , 'LOCK') , ('LCK_M_RX_X' , 'LOCK') , ('LCK_M_S' , 'LOCK') , +('LCK_M_SCH_M' , 'LOCK') , ('LCK_M_SCH_S' , 'LOCK') , ('LCK_M_SIU' , 'LOCK') , ('LCK_M_SIX' , 'LOCK') , +('LCK_M_U' , 'LOCK') , ('LCK_M_UIX' , 'LOCK') , ('LCK_M_X' , 'LOCK') , ('LOGBUFFER' , 'OTHER') , +('LOGGENERATION' , 'OTHER') , ('LOGMGR' , 'OTHER') , ('LOGMGR_FLUSH' , 'OTHER') , ('LOGMGR_QUEUE' , +'OTHER') , ('LOGMGR_RESERVE_APPEND' , 'OTHER') , ('LOWFAIL_MEMMGR_QUEUE' , 'MEMORY') , +('METADATA_LAZYCACHE_RWLOCK' , 'OTHER') , ('MIRROR_SEND_MESSAGE' , 'OTHER') , ('MISCELLANEOUS' , 'IGNORE') +, ('MSQL_DQ' , 'DISTRIBUTED QUERY') , ('MSQL_SYNC_PIPE' , 'OTHER') , ('MSQL_XACT_MGR_MUTEX' , 'OTHER') , +('MSQL_XACT_MUTEX' , 'OTHER') , ('MSQL_XP' , 'OTHER') , ('MSSEARCH' , 'OTHER') , ('NET_WAITFOR_PACKET' , +'NETWORK') , ('NODE_CACHE_MUTEX' , 'OTHER') , ('OTHER' , 'OTHER') , ('ONDEMAND_TASK_QUEUE' , 'OTHER') , +('PAGEIOLATCH_DT' , 'LATCH') , ('PAGEIOLATCH_EX' , 'LATCH') , ('PAGEIOLATCH_KP' , 'LATCH') , +('PAGEIOLATCH_NL' , 'LATCH') , ('PAGEIOLATCH_SH' , 'LATCH') , ('PAGEIOLATCH_UP' , 'LATCH') , +('PAGELATCH_DT' , 'LATCH') , ('PAGELATCH_EX' , 'LATCH') , ('PAGELATCH_KP' , 'LATCH') , ('PAGELATCH_NL' , +'LATCH') , ('PAGELATCH_SH' , 'LATCH') , ('PAGELATCH_UP' , 'LATCH') , ('PARALLEL_BACKUP_QUEUE' , 'BACKUP') +, ('PERFORMANCE_COUNTERS_RWLOCK' , 'OTHER') , ('PREEMPTIVE_ABR' , 'OTHER') , +('PREEMPTIVE_AUDIT_ACCESS_EVENTLOG' , 'OTHER') , ('PREEMPTIVE_AUDIT_ACCESS_SECLOG' , 'OTHER') , +('PREEMPTIVE_CLOSEBACKUPMEDIA' , 'OTHER') , ('PREEMPTIVE_CLOSEBACKUPTAPE' , 'OTHER') , +('PREEMPTIVE_CLOSEBACKUPVDIDEVICE' , 'OTHER') , ('PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL' , 'OTHER') , +('PREEMPTIVE_COM_COCREATEINSTANCE' , 'OTHER') , ('PREEMPTIVE_COM_COGETCLASSOBJECT' , 'OTHER') , +('PREEMPTIVE_COM_CREATEACCESSOR' , 'OTHER') , ('PREEMPTIVE_COM_DELETEROWS' , 'OTHER') , +('PREEMPTIVE_COM_GETCOMMANDTEXT' , 'OTHER') , ('PREEMPTIVE_COM_GETDATA' , 'OTHER') , +('PREEMPTIVE_COM_GETNEXTROWS' , 'OTHER') , ('PREEMPTIVE_COM_GETRESULT' , 'OTHER') , +('PREEMPTIVE_COM_GETROWSBYBOOKMARK' , 'OTHER') , ('PREEMPTIVE_COM_LBFLUSH' , 'OTHER') , +('PREEMPTIVE_COM_LBLOCKREGION' , 'OTHER') , ('PREEMPTIVE_COM_LBREADAT' , 'OTHER') , +('PREEMPTIVE_COM_LBSETSIZE' , 'OTHER') , ('PREEMPTIVE_COM_LBSTAT' , 'OTHER') , +('PREEMPTIVE_COM_LBUNLOCKREGION' , 'OTHER') , ('PREEMPTIVE_COM_LBWRITEAT' , 'OTHER') , +('PREEMPTIVE_COM_QUERYINTERFACE' , 'OTHER') , ('PREEMPTIVE_COM_RELEASE' , 'OTHER') , +('PREEMPTIVE_COM_RELEASEACCESSOR' , 'OTHER') , ('PREEMPTIVE_COM_RELEASEROWS' , 'OTHER') , +('PREEMPTIVE_COM_RELEASESESSION' , 'OTHER') , ('PREEMPTIVE_COM_RESTARTPOSITION' , 'OTHER') , +('PREEMPTIVE_COM_SEQSTRMREAD' , 'OTHER') , ('PREEMPTIVE_COM_SEQSTRMREADANDWRITE' , 'OTHER') , +('PREEMPTIVE_COM_SETDATAFAILURE' , 'OTHER') , ('PREEMPTIVE_COM_SETPARAMETERINFO' , 'OTHER') , +('PREEMPTIVE_COM_SETPARAMETERPROPERTIES' , 'OTHER') , ('PREEMPTIVE_COM_STRMLOCKREGION' , 'OTHER') , +('PREEMPTIVE_COM_STRMSEEKANDREAD' , 'OTHER') , ('PREEMPTIVE_COM_STRMSEEKANDWRITE' , 'OTHER') , +('PREEMPTIVE_COM_STRMSETSIZE' , 'OTHER') , ('PREEMPTIVE_COM_STRMSTAT' , 'OTHER') , +('PREEMPTIVE_COM_STRMUNLOCKREGION' , 'OTHER') , ('PREEMPTIVE_CONSOLEWRITE' , 'OTHER') , +('PREEMPTIVE_CREATEPARAM' , 'OTHER') , ('PREEMPTIVE_DEBUG' , 'OTHER') , ('PREEMPTIVE_DFSADDLINK' , +'OTHER') , ('PREEMPTIVE_DFSLINKEXISTCHECK' , 'OTHER') , ('PREEMPTIVE_DFSLINKHEALTHCHECK' , 'OTHER') , +('PREEMPTIVE_DFSREMOVELINK' , 'OTHER') , ('PREEMPTIVE_DFSREMOVEROOT' , 'OTHER') , +('PREEMPTIVE_DFSROOTFOLDERCHECK' , 'OTHER') , ('PREEMPTIVE_DFSROOTINIT' , 'OTHER') , +('PREEMPTIVE_DFSROOTSHARECHECK' , 'OTHER') , ('PREEMPTIVE_DTC_ABORT' , 'OTHER') , +('PREEMPTIVE_DTC_ABORTREQUESTDONE' , 'OTHER') , ('PREEMPTIVE_DTC_BEGINOTHER' , 'OTHER') , +('PREEMPTIVE_DTC_COMMITREQUESTDONE' , 'OTHER') , ('PREEMPTIVE_DTC_ENLIST' , 'OTHER') , +('PREEMPTIVE_DTC_PREPAREREQUESTDONE' , 'OTHER') , ('PREEMPTIVE_FILESIZEGET' , 'OTHER') , +('PREEMPTIVE_FSAOTHER_ABORTOTHER' , 'OTHER') , ('PREEMPTIVE_FSAOTHER_COMMITOTHER' , 'OTHER') , +('PREEMPTIVE_FSAOTHER_STARTOTHER' , 'OTHER') , ('PREEMPTIVE_FSRECOVER_UNCONDITIONALUNDO' , 'OTHER') , +('PREEMPTIVE_GETRMINFO' , 'OTHER') , ('PREEMPTIVE_LOCKMONITOR' , 'OTHER') , ('PREEMPTIVE_MSS_RELEASE' , +'OTHER') , ('PREEMPTIVE_ODBCOPS' , 'OTHER') , ('PREEMPTIVE_OLE_UNINIT' , 'OTHER') , +('PREEMPTIVE_OTHER_ABORTORCOMMITTRAN' , 'OTHER') , ('PREEMPTIVE_OTHER_ABORTTRAN' , 'OTHER') , +('PREEMPTIVE_OTHER_GETDATASOURCE' , 'OTHER') , ('PREEMPTIVE_OTHER_GETLITERALINFO' , 'OTHER') , +('PREEMPTIVE_OTHER_GETPROPERTIES' , 'OTHER') , ('PREEMPTIVE_OTHER_GETPROPERTYINFO' , 'OTHER') , +('PREEMPTIVE_OTHER_GETSCHEMALOCK' , 'OTHER') , ('PREEMPTIVE_OTHER_JOINOTHER' , 'OTHER') , +('PREEMPTIVE_OTHER_RELEASE' , 'OTHER') , ('PREEMPTIVE_OTHER_SETPROPERTIES' , 'OTHER') , +('PREEMPTIVE_OTHEROPS' , 'OTHER') , ('PREEMPTIVE_OS_ACCEPTSECURITYCONTEXT' , 'OTHER') , +('PREEMPTIVE_OS_ACQUIRECREDENTIALSHANDLE' , 'OTHER') , ('PREEMPTIVE_OS_AU,TICATIONOPS' , 'OTHER') , +('PREEMPTIVE_OS_AUTHORIZATIONOPS' , 'OTHER') , ('PREEMPTIVE_OS_AUTHZGETINFORMATIONFROMCONTEXT' , 'OTHER') +, ('PREEMPTIVE_OS_AUTHZINITIALIZECONTEXTFROMSID' , 'OTHER') , +('PREEMPTIVE_OS_AUTHZINITIALIZERESOURCEMANAGER' , 'OTHER') , ('PREEMPTIVE_OS_BACKUPREAD' , 'OTHER') , +('PREEMPTIVE_OS_CLOSEHANDLE' , 'OTHER') , ('PREEMPTIVE_OS_CLUSTEROPS' , 'OTHER') , ('PREEMPTIVE_OS_COMOPS' +, 'OTHER') , ('PREEMPTIVE_OS_COMPLETEAUTHTOKEN' , 'OTHER') , ('PREEMPTIVE_OS_COPYFILE' , 'OTHER') , +('PREEMPTIVE_OS_CREATEDIRECTORY' , 'OTHER') , ('PREEMPTIVE_OS_CREATEFILE' , 'OTHER') , +('PREEMPTIVE_OS_CRYPTACQUIRECONTEXT' , 'OTHER') , ('PREEMPTIVE_OS_CRYPTIMPORTKEY' , 'OTHER') , +('PREEMPTIVE_OS_CRYPTOPS' , 'OTHER') , ('PREEMPTIVE_OS_DECRYPTMESSAGE' , 'OTHER') , +('PREEMPTIVE_OS_DELETEFILE' , 'OTHER') , ('PREEMPTIVE_OS_DELETESECURITYCONTEXT' , 'OTHER') , +('PREEMPTIVE_OS_DEVICEIOCONTROL' , 'OTHER') , ('PREEMPTIVE_OS_DEVICEOPS' , 'OTHER') , +('PREEMPTIVE_OS_DIRSVC_NETWORKOPS' , 'OTHER') , ('PREEMPTIVE_OS_DISCONNECTNAMEDPIPE' , 'OTHER') , +('PREEMPTIVE_OS_DOMAINSERVICESOPS' , 'OTHER') , ('PREEMPTIVE_OS_DSGETDCNAME' , 'OTHER') , +('PREEMPTIVE_OS_DTCOPS' , 'OTHER') , ('PREEMPTIVE_OS_ENCRYPTMESSAGE' , 'OTHER') , ('PREEMPTIVE_OS_FILEOPS' +, 'OTHER') , ('PREEMPTIVE_OS_FINDFILE' , 'OTHER') , ('PREEMPTIVE_OS_FLUSHFILEBUFFERS' , 'OTHER') , +('PREEMPTIVE_OS_FORMATMESSAGE' , 'OTHER') , ('PREEMPTIVE_OS_FREECREDENTIALSHANDLE' , 'OTHER') , +('PREEMPTIVE_OS_FREELIBRARY' , 'OTHER') , ('PREEMPTIVE_OS_GENERICOPS' , 'OTHER') , +('PREEMPTIVE_OS_GETADDRINFO' , 'OTHER') , ('PREEMPTIVE_OS_GETCOMPRESSEDFILESIZE' , 'OTHER') , +('PREEMPTIVE_OS_GETDISKFREESPACE' , 'OTHER') , ('PREEMPTIVE_OS_GETFILEATTRIBUTES' , 'OTHER') , +('PREEMPTIVE_OS_GETFILESIZE' , 'OTHER') , ('PREEMPTIVE_OS_GETLONGPATHNAME' , 'OTHER') , +('PREEMPTIVE_OS_GETPROCADDRESS' , 'OTHER') , ('PREEMPTIVE_OS_GETVOLUMENAMEFORVOLUMEMOUNTPOINT' , 'OTHER') +, ('PREEMPTIVE_OS_GETVOLUMEPATHNAME' , 'OTHER') , ('PREEMPTIVE_OS_INITIALIZESECURITYCONTEXT' , 'OTHER') , +('PREEMPTIVE_OS_LIBRARYOPS' , 'OTHER') , ('PREEMPTIVE_OS_LOADLIBRARY' , 'OTHER') , +('PREEMPTIVE_OS_LOGONUSER' , 'OTHER') , ('PREEMPTIVE_OS_LOOKUPACCOUNTSID' , 'OTHER') , +('PREEMPTIVE_OS_MESSAGEQUEUEOPS' , 'OTHER') , ('PREEMPTIVE_OS_MOVEFILE' , 'OTHER') , +('PREEMPTIVE_OS_NETGROUPGETUSERS' , 'OTHER') , ('PREEMPTIVE_OS_NETLOCALGROUPGETMEMBERS' , 'OTHER') , +('PREEMPTIVE_OS_NETUSERGETGROUPS' , 'OTHER') , ('PREEMPTIVE_OS_NETUSERGETLOCALGROUPS' , 'OTHER') , +('PREEMPTIVE_OS_NETUSERMODALSGET' , 'OTHER') , ('PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICY' , 'OTHER') , +('PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICYFREE' , 'OTHER') , ('PREEMPTIVE_OS_OPENDIRECTORY' , 'OTHER') , +('PREEMPTIVE_OS_PIPEOPS' , 'OTHER') , ('PREEMPTIVE_OS_PROCESSOPS' , 'OTHER') , +('PREEMPTIVE_OS_QUERYREGISTRY' , 'OTHER') , ('PREEMPTIVE_OS_QUERYSECURITYCONTEXTTOKEN' , 'OTHER') , +('PREEMPTIVE_OS_REMOVEDIRECTORY' , 'OTHER') , ('PREEMPTIVE_OS_REPORTEVENT' , 'OTHER') , +('PREEMPTIVE_OS_REVERTTOSELF' , 'OTHER') , ('PREEMPTIVE_OS_RSFXDEVICEOPS' , 'OTHER') , +('PREEMPTIVE_OS_SECURITYOPS' , 'OTHER') , ('PREEMPTIVE_OS_SERVICEOPS' , 'OTHER') , +('PREEMPTIVE_OS_SETENDOFFILE' , 'OTHER') , ('PREEMPTIVE_OS_SETFILEPOINTER' , 'OTHER') , +('PREEMPTIVE_OS_SETFILEVALIDDATA' , 'OTHER') , ('PREEMPTIVE_OS_SETNAMEDSECURITYINFO' , 'OTHER') , +('PREEMPTIVE_OS_SQLCLROPS' , 'OTHER') , ('PREEMPTIVE_OS_SQMLAUNCH' , 'OTHER') , +('PREEMPTIVE_OS_VERIFYSIGNATURE' , 'OTHER') , ('PREEMPTIVE_OS_VSSOPS' , 'OTHER') , +('PREEMPTIVE_OS_WAITFORSINGLEOBJECT' , 'OTHER') , ('PREEMPTIVE_OS_WINSOCKOPS' , 'OTHER') , +('PREEMPTIVE_OS_WRITEFILE' , 'OTHER') , ('PREEMPTIVE_OS_WRITEFILEGATHER' , 'OTHER') , +('PREEMPTIVE_OS_WSASETLASTERROR' , 'OTHER') , ('PREEMPTIVE_REENLIST' , 'OTHER') , ('PREEMPTIVE_RESIZELOG' +, 'OTHER') , ('PREEMPTIVE_ROLLFORWARDREDO' , 'OTHER') , ('PREEMPTIVE_ROLLFORWARDUNDO' , 'OTHER') , +('PREEMPTIVE_SB_STOPENDPOINT' , 'OTHER') , ('PREEMPTIVE_SERVER_STARTUP' , 'OTHER') , +('PREEMPTIVE_SETRMINFO' , 'OTHER') , ('PREEMPTIVE_SHAREDMEM_GETDATA' , 'OTHER') , ('PREEMPTIVE_SNIOPEN' , +'OTHER') , ('PREEMPTIVE_SOSHOST' , 'OTHER') , ('PREEMPTIVE_SOSTESTING' , 'OTHER') , ('PREEMPTIVE_STARTRM' +, 'OTHER') , ('PREEMPTIVE_STREAMFCB_CHECKPOINT' , 'OTHER') , ('PREEMPTIVE_STREAMFCB_RECOVER' , 'OTHER') , +('PREEMPTIVE_STRESSDRIVER' , 'OTHER') , ('PREEMPTIVE_TESTING' , 'OTHER') , ('PREEMPTIVE_TRANSIMPORT' , +'OTHER') , ('PREEMPTIVE_UNMARSHALPROPAGATIONTOKEN' , 'OTHER') , ('PREEMPTIVE_VSS_CREATESNAPSHOT' , +'OTHER') , ('PREEMPTIVE_VSS_CREATEVOLUMESNAPSHOT' , 'OTHER') , ('PREEMPTIVE_XE_CALLBACKEXECUTE' , 'OTHER') +, ('PREEMPTIVE_XE_DISPATCHER' , 'OTHER') , ('PREEMPTIVE_XE_ENGINEINIT' , 'OTHER') , +('PREEMPTIVE_XE_GETTARGETSTATE' , 'OTHER') , ('PREEMPTIVE_XE_SESSIONCOMMIT' , 'OTHER') , +('PREEMPTIVE_XE_TARGETFINALIZE' , 'OTHER') , ('PREEMPTIVE_XE_TARGETINIT' , 'OTHER') , +('PREEMPTIVE_XE_TIMERRUN' , 'OTHER') , ('PREEMPTIVE_XETESTING' , 'OTHER') , ('PREEMPTIVE_XXX' , 'OTHER') , +('PRINT_ROLLBACK_PROGRESS' , 'OTHER') , ('QNMANAGER_ACQUIRE' , 'OTHER') , ('QPJOB_KILL' , 'OTHER') , +('QPJOB_WAITFOR_ABORT' , 'OTHER') , ('QRY_MEM_GRANT_INFO_MUTEX' , 'OTHER') , ('QUERY_ERRHDL_SERVICE_DONE' +, 'OTHER') , ('QUERY_EXECUTION_INDEX_SORT_EVENT_OPEN' , 'OTHER') , ('QUERY_NOTIFICATION_MGR_MUTEX' , +'OTHER') , ('QUERY_NOTIFICATION_SUBSCRIPTION_MUTEX' , 'OTHER') , ('QUERY_NOTIFICATION_TABLE_MGR_MUTEX' , +'OTHER') , ('QUERY_NOTIFICATION_UNITTEST_MUTEX' , 'OTHER') , ('QUERY_OPTIMIZER_PRINT_MUTEX' , 'OTHER') , +('QUERY_TRACEOUT' , 'OTHER') , ('QUERY_WAIT_ERRHDL_SERVICE' , 'OTHER') , ('RECOVER_CHANGEDB' , 'OTHER') , +('REPL_CACHE_ACCESS' , 'REPLICATION') , ('REPL_HISTORYCACHE_ACCESS' , 'OTHER') , ('REPL_SCHEMA_ACCESS' , +'OTHER') , ('REPL_TRANHASHTABLE_ACCESS' , 'OTHER') , ('REPLICA_WRITES' , 'OTHER') , +('REQUEST_DISPENSER_PAUSE' , 'BACKUP') , ('REQUEST_FOR_DEADLOCK_SEARCH' , 'LOCK') , ('RESMGR_THROTTLED' , +'OTHER') , ('RESOURCE_QUERY_SEMAPHORE_COMPILE' , 'QUERY') , ('RESOURCE_QUEUE' , 'OTHER') , +('RESOURCE_SEMAPHORE' , 'OTHER') , ('RESOURCE_SEMAPHORE_MUTEX' , 'MEMORY') , +('RESOURCE_SEMAPHORE_QUERY_COMPILE' , 'MEMORY') , ('RESOURCE_SEMAPHORE_SMALL_QUERY' , 'MEMORY') , +('RG_RECONFIG' , 'OTHER') , ('SEC_DROP_TEMP_KEY' , 'SECURITY') , ('SECURITY_MUTEX' , 'OTHER') , +('SEQUENTIAL_GUID' , 'OTHER') , ('SERVER_IDLE_CHECK' , 'OTHER') , ('SHUTDOWN' , 'OTHER') , +('SLEEP_BPOOL_FLUSH' , 'OTHER') , ('SLEEP_DBSTARTUP' , 'OTHER') , ('SLEEP_DCOMSTARTUP' , 'OTHER') , +('SLEEP_MSDBSTARTUP' , 'OTHER') , ('SLEEP_SYSTEMTASK' , 'OTHER') , ('SLEEP_TASK' , 'OTHER') , +('SLEEP_TEMPDBSTARTUP' , 'OTHER') , ('SNI_CRITICAL_SECTION' , 'OTHER') , ('SNI_HTTP_ACCEPT' , 'OTHER') , +('SNI_HTTP_WAITFOR_0_DISCON' , 'OTHER') , ('SNI_LISTENER_ACCESS' , 'OTHER') , ('SNI_TASK_COMPLETION' , +'OTHER') , ('SOAP_READ' , 'OTHER') , ('SOAP_WRITE' , 'OTHER') , ('SOS_CALLBACK_REMOVAL' , 'OTHER') , +('SOS_DISPATCHER_MUTEX' , 'OTHER') , ('SOS_LOCALALLOCATORLIST' , 'OTHER') , ('SOS_MEMORY_USAGE_ADJUSTMENT' +, 'OTHER') , ('SOS_OBJECT_STORE_DESTROY_MUTEX' , 'OTHER') , ('SOS_PROCESS_AFFINITY_MUTEX' , 'OTHER') , +('SOS_RESERVEDMEMBLOCKLIST' , 'OTHER') , ('SOS_SCHEDULER_YIELD' , 'SQLOS') , ('SOS_SMALL_PAGE_ALLOC' , +'OTHER') , ('SOS_STACKSTORE_INIT_MUTEX' , 'OTHER') , ('SOS_SYNC_TASK_ENQUEUE_EVENT' , 'OTHER') , +('SOS_VIRTUALMEMORY_LOW' , 'OTHER') , ('SOSHOST_EVENT' , 'CLR') , ('SOSHOST_OTHER' , 'CLR') , +('SOSHOST_MUTEX' , 'CLR') , ('SOSHOST_ROWLOCK' , 'CLR') , ('SOSHOST_RWLOCK' , 'CLR') , +('SOSHOST_SEMAPHORE' , 'CLR') , ('SOSHOST_SLEEP' , 'CLR') , ('SOSHOST_TRACELOCK' , 'CLR') , +('SOSHOST_WAITFORDONE' , 'CLR') , ('SQLCLR_APPDOMAIN' , 'CLR') , ('SQLCLR_ASSEMBLY' , 'CLR') , +('SQLCLR_DEADLOCK_DETECTION' , 'CLR') , ('SQLCLR_QUANTUM_PUNISHMENT' , 'CLR') , ('SQLSORT_NORMMUTEX' , +'OTHER') , ('SQLSORT_SORTMUTEX' , 'OTHER') , ('SQLTRACE_BUFFER_FLUSH ' , 'TRACE') , ('SQLTRACE_LOCK' , +'OTHER') , ('SQLTRACE_SHUTDOWN' , 'OTHER') , ('SQLTRACE_WAIT_ENTRIES' , 'OTHER') , ('SRVPROC_SHUTDOWN' , +'OTHER') , ('TEMPOBJ' , 'OTHER') , ('THREADPOOL' , 'SQLOS') , ('TIMEPRIV_TIMEPERIOD' , 'OTHER') , +('TRACE_EVTNOTIF' , 'OTHER') , ('TRACEWRITE' , 'OTHER') , ('TRAN_MARKLATCH_DT' , 'TRAN_MARKLATCH') , +('TRAN_MARKLATCH_EX' , 'TRAN_MARKLATCH') , ('TRAN_MARKLATCH_KP' , 'TRAN_MARKLATCH') , ('TRAN_MARKLATCH_NL' +, 'TRAN_MARKLATCH') , ('TRAN_MARKLATCH_SH' , 'TRAN_MARKLATCH') , ('TRAN_MARKLATCH_UP' , 'TRAN_MARKLATCH') +, ('OTHER_MUTEX' , 'OTHER') , ('UTIL_PAGE_ALLOC' , 'OTHER') , ('VIA_ACCEPT' , 'OTHER') , +('VIEW_DEFINITION_MUTEX' , 'OTHER') , ('WAIT_FOR_RESULTS' , 'OTHER') , ('WAITFOR' , 'WAITFOR') , +('WAITFOR_TASKSHUTDOWN' , 'OTHER') , ('WAITSTAT_MUTEX' , 'OTHER') , ('WCC' , 'OTHER') , ('WORKTBL_DROP' , +'OTHER') , ('WRITE_COMPLETION' , 'OTHER') , ('WRITELOG' , 'I/O') , ('XACT_OWN_OTHER' , 'OTHER') , +('XACT_RECLAIM_SESSION' , 'OTHER') , ('XACTLOCKINFO' , 'OTHER') , ('XACTWORKSPACE_MUTEX' , 'OTHER') , +('XE_BUFFERMGR_ALLPROCESSED_EVENT' , 'XEVENT') , ('XE_BUFFERMGR_FREEBUF_EVENT' , 'XEVENT') , +('XE_DISPATCHER_CONFIG_SESSION_LIST' , 'XEVENT') , ('XE_DISPATCHER_JOIN' , 'XEVENT') , +('XE_DISPATCHER_WAIT' , 'XEVENT') , ('XE_MODULEMGR_SYNC' , 'XEVENT') , ('XE_OLS_LOCK' , 'XEVENT') , +('XE_PACKAGE_LOCK_BACKOFF' , 'XEVENT') , ('XE_SERVICES_EVENTMANUAL' , 'XEVENT') , ('XE_SERVICES_MUTEX' , +'XEVENT') , ('XE_SERVICES_RWLOCK' , 'XEVENT') , ('XE_SESSION_CREATE_SYNC' , 'XEVENT') , +('XE_SESSION_FLUSH' , 'XEVENT') , ('XE_SESSION_SYNC' , 'XEVENT') , ('XE_STM_CREATE' , 'XEVENT') , +('XE_TIMER_EVENT' , 'XEVENT') , ('XE_TIMER_MUTEX' , 'XEVENT') +, ('XE_TIMER_TASK_DONE' , 'XEVENT'); + + +INSERT @w1 (WaitType, WaitTimeInMs, WaitTaskCount, CollectionDate) +SELECT + WaitType = wait_type +, WaitTimeInMs = SUM(wait_time_ms) +, WaitTaskCount = SUM(waiting_tasks_count) +, CollectionDate = GETDATE() +FROM sys.dm_os_wait_stats +WHERE [wait_type] NOT IN +( + SELECT WaitType FROM @w3 +) +AND [waiting_tasks_count] > 0 +GROUP BY wait_type + +WAITFOR DELAY @delayInterval; + +INSERT @w2 (WaitType, WaitTimeInMs, WaitTaskCount, CollectionDate) +SELECT + WaitType = wait_type +, WaitTimeInMs = SUM(wait_time_ms) +, WaitTaskCount = SUM(waiting_tasks_count) +, CollectionDate = GETDATE() +FROM sys.dm_os_wait_stats +WHERE [wait_type] NOT IN +( + SELECT WaitType FROM @w3 +) +AND [waiting_tasks_count] > 0 +GROUP BY wait_type; + + +INSERT @w5 (WaitCategory, WaitTimeInMs, WaitTaskCount) +SELECT WaitCategory +, WaitTimeInMs = SUM(WaitTimeInMs) +, WaitTaskCount = SUM(WaitTaskCount) +FROM +( +SELECT + WaitCategory = ISNULL(T4.WaitCategory, 'OTHER') +, WaitTimeInMs = (T2.WaitTimeInMs - T1.WaitTimeInMs) +, WaitTaskCount = (T2.WaitTaskCount - T1.WaitTaskCount) +--, WaitTimeInMsPerSec = ((T2.WaitTimeInMs - T1.WaitTimeInMs) / CAST(DATEDIFF(SECOND, T1.CollectionDate, T2.CollectionDate) as float)) +FROM @w1 T1 +INNER JOIN @w2 T2 ON T2.WaitType = T1.WaitType +LEFT JOIN @w4 T4 ON T4.WaitType = T1.WaitType +WHERE T2.WaitTaskCount - T1.WaitTaskCount > 0 +) as G +GROUP BY G.WaitCategory; + + + +SELECT +---- measurement + measurement = 'Wait time (ms)' +---- tags +, servername= REPLACE(@@SERVERNAME, '\', ':') +, type = 'Wait stats' +---- values +, [I/O] = SUM([I/O]) +, [Latch] = SUM([Latch]) +, [Lock] = SUM([Lock]) +, [Network] = SUM([Network]) +, [Service broker] = SUM([Service broker]) +, [Memory] = SUM([Memory]) +, [Buffer] = SUM([Buffer]) +, [CLR] = SUM([CLR]) +, [SQLOS] = SUM([SQLOS]) +, [XEvent] = SUM([XEvent]) +, [Other] = SUM([Other]) +, [Total] = SUM([I/O]+[LATCH]+[LOCK]+[NETWORK]+[SERVICE BROKER]+[MEMORY]+[BUFFER]+[CLR]+[XEVENT]+[SQLOS]+[OTHER]) +FROM +( +SELECT + [I/O] = ISNULL([I/O] , 0) +, [MEMORY] = ISNULL([MEMORY] , 0) +, [BUFFER] = ISNULL([BUFFER] , 0) +, [LATCH] = ISNULL([LATCH] , 0) +, [LOCK] = ISNULL([LOCK] , 0) +, [NETWORK] = ISNULL([NETWORK] , 0) +, [SERVICE BROKER] = ISNULL([SERVICE BROKER] , 0) +, [CLR] = ISNULL([CLR] , 0) +, [XEVENT] = ISNULL([XEVENT] , 0) +, [SQLOS] = ISNULL([SQLOS] , 0) +, [OTHER] = ISNULL([OTHER] , 0) +FROM @w5 as P +PIVOT +( + SUM(WaitTimeInMs) + FOR WaitCategory IN ([I/O], [LATCH], [LOCK], [NETWORK], [SERVICE BROKER], [MEMORY], [BUFFER], [CLR], [XEVENT], [SQLOS], [OTHER]) +) AS PivotTable +) as T + +UNION ALL + +SELECT +---- measurement + measurement = 'Wait tasks' +---- tags +, server_name= REPLACE(@@SERVERNAME, '\', ':') +, type = 'Wait stats' +---- values +, [I/O] = SUM([I/O]) +, [Latch] = SUM([Latch]) +, [Lock] = SUM([Lock]) +, [Network] = SUM([Network]) +, [Service broker] = SUM([Service broker]) +, [Memory] = SUM([Memory]) +, [Buffer] = SUM([Buffer]) +, [CLR] = SUM([CLR]) +, [SQLOS] = SUM([SQLOS]) +, [XEvent] = SUM([XEvent]) +, [Other] = SUM([Other]) +, [Total] = SUM([I/O]+[LATCH]+[LOCK]+[NETWORK]+[SERVICE BROKER]+[MEMORY]+[BUFFER]+[CLR]+[XEVENT]+[SQLOS]+[OTHER]) +FROM +( +SELECT + [I/O] = ISNULL([I/O] , 0) +, [MEMORY] = ISNULL([MEMORY] , 0) +, [BUFFER] = ISNULL([BUFFER] , 0) +, [LATCH] = ISNULL([LATCH] , 0) +, [LOCK] = ISNULL([LOCK] , 0) +, [NETWORK] = ISNULL([NETWORK] , 0) +, [SERVICE BROKER] = ISNULL([SERVICE BROKER] , 0) +, [CLR] = ISNULL([CLR] , 0) +, [XEVENT] = ISNULL([XEVENT] , 0) +, [SQLOS] = ISNULL([SQLOS] , 0) +, [OTHER] = ISNULL([OTHER] , 0) +FROM @w5 as P +PIVOT +( + SUM(WaitTaskCount) + FOR WaitCategory IN ([I/O], [LATCH], [LOCK], [NETWORK], [SERVICE BROKER], [MEMORY], [BUFFER], [CLR], [XEVENT], [SQLOS], [OTHER]) +) AS PivotTable +) as T; +` + +const sqlVolumeSpace string = `SET NOCOUNT ON; +SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; + +IF OBJECT_ID('tempdb..#volumestats') IS NOT NULL + DROP TABLE #volumestats; +SELECT DISTINCT + volume = REPLACE(vs.volume_mount_point, '\', '') + + CASE WHEN LEN(vs.logical_volume_name) > 0 + THEN ' (' + vs.logical_volume_name + ')' + ELSE '' END +, total_bytes = vs.total_bytes +, available_bytes = vs.available_bytes +, used_bytes = vs.total_bytes - vs.available_bytes +, used_percent = 100 * CAST(ROUND((vs.total_bytes - vs.available_bytes) * 1. / vs.total_bytes, 2) as decimal(5,2)) +INTO #volumestats +FROM sys.master_files AS f +CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id) vs + +DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) +DECLARE @ColumnName AS NVARCHAR(MAX), @ColumnName2 AS NVARCHAR(MAX) + +SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME(volume) +FROM (SELECT DISTINCT volume FROM #volumestats) AS bl + +--Prepare the PIVOT query using the dynamic +SET @DynamicPivotQuery = N' +SELECT measurement = ''Volume total space (bytes)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''OS Volume space'' +, ' + @ColumnName + ' FROM +( +SELECT volume, total_bytes +FROM #volumestats +) as V +PIVOT(SUM(total_bytes) FOR volume IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Volume available space (bytes)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''OS Volume space'' +, ' + @ColumnName + ' FROM +( +SELECT volume, available_bytes +FROM #volumestats +) as V +PIVOT(SUM(available_bytes) FOR volume IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Volume used space (bytes)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''OS Volume space'' +, ' + @ColumnName + ' FROM +( +SELECT volume, used_bytes +FROM #volumestats +) as V +PIVOT(SUM(used_bytes) FOR volume IN (' + @ColumnName + ')) AS PVTTable + +UNION ALL + +SELECT measurement = ''Volume used space (%)'', servername = REPLACE(@@SERVERNAME, ''\'', '':''), type = ''OS Volume space'' +, ' + @ColumnName + ' FROM +( +SELECT volume, used_percent +FROM #volumestats +) as V +PIVOT(SUM(used_percent) FOR volume IN (' + @ColumnName + ')) AS PVTTable' + +EXEC sp_executesql @DynamicPivotQuery; +` diff --git a/plugins/inputs/sqlserver/sqlserver_test.go b/plugins/inputs/sqlserver/sqlserver_test.go new file mode 100644 index 000000000..1cbe4bd95 --- /dev/null +++ b/plugins/inputs/sqlserver/sqlserver_test.go @@ -0,0 +1,1234 @@ +package sqlserver + +import ( + "strconv" + "strings" + "testing" + "time" + + "github.com/influxdata/telegraf/testutil" + "github.com/stretchr/testify/require" +) + +func TestSqlServer_ParseMetrics(t *testing.T) { + + var acc testutil.Accumulator + + queries = make(MapQuery) + queries["PerformanceCounters"] = Query{Script: mockPerformanceCounters, ResultByRow: true} + queries["WaitStatsCategorized"] = Query{Script: mockWaitStatsCategorized, ResultByRow: false} + queries["CPUHistory"] = Query{Script: mockCPUHistory, ResultByRow: false} + queries["DatabaseIO"] = Query{Script: mockDatabaseIO, ResultByRow: false} + queries["DatabaseSize"] = Query{Script: mockDatabaseSize, ResultByRow: false} + queries["DatabaseStats"] = Query{Script: mockDatabaseStats, ResultByRow: false} + queries["DatabaseProperties"] = Query{Script: mockDatabaseProperties, ResultByRow: false} + queries["VolumeSpace"] = Query{Script: mockVolumeSpace, ResultByRow: false} + queries["MemoryClerk"] = Query{Script: mockMemoryClerk, ResultByRow: false} + queries["PerformanceMetrics"] = Query{Script: mockPerformanceMetrics, ResultByRow: false} + + var headers, mock, row []string + var tags = make(map[string]string) + var fields = make(map[string]interface{}) + + for _, query := range queries { + + mock = strings.Split(query.Script, "\n") + idx := 0 + + for _, line := range mock { + if idx == 0 { // headers in first line + headers = strings.Split(line, ";") + } else { + row = strings.Split(line, ";") + + measurement := row[0] // measurement + tags[headers[1]] = row[1] // tag 'servername' + tags[headers[2]] = row[2] // tag 'type' + + if query.ResultByRow { + + // set value by converting to float64 + value, err := strconv.ParseFloat(row[3], 64) + // require + require.NoError(t, err) + + // add value to Accumulator + acc.Add(measurement, value, tags, time.Now()) + // assert + acc.AssertContainsTaggedFields(t, measurement, map[string]interface{}{"value": value}, tags) + + } else { + // set fields + for i := 3; i < len(row); i++ { + + // set value by converting to float64 + value, err := strconv.ParseFloat(row[i], 64) + // require + require.NoError(t, err) + + fields[headers[i]] = value + } + // add fields to Accumulator + acc.AddFields(measurement, fields, tags, time.Now()) + // assert + acc.AssertContainsTaggedFields(t, measurement, fields, tags) + } + } + idx++ + } + } +} + +const mockPerformanceMetrics = `measurement;servername;type;Point In Time Recovery;Available physical memory (bytes);Average pending disk IO;Average runnable tasks;Average tasks;Buffer pool rate (bytes/sec);Connection memory per connection (bytes);Memory grant pending;Page File Usage (%);Page lookup per batch request;Page split per batch request;Readahead per page read;Signal wait (%);Sql compilation per batch request;Sql recompilation per batch request;Total target memory ratio +Performance metrics;WIN8-DEV;Performance metrics;0;6353158144;0;0;7;2773;415061;0;25;229371;130;10;18;188;52;14` + +const mockWaitStatsCategorized = `measurement;servername;type;I/O;Latch;Lock;Network;Service broker;Memory;Buffer;CLR;XEvent;Other;Total +Wait time (ms);WIN8-DEV;Wait stats;0;0;0;0;0;0;0;0;0;0;0 +Wait tasks;WIN8-DEV;Wait stats;0;0;0;0;0;0;0;0;0;1;1` + +const mockCPUHistory = `measurement;servername;type;SQL process;External process;SystemIdle +CPU (%);WIN8-DEV;CPU;0;2;98` + +const mockDatabaseIO = `measurement;servername;type;AdventureWorks2014;Australian;DOC.Azure;master;model;msdb;ngMon;ResumeCloud;tempdb;Total +Log writes (bytes/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;159744;159744 +Rows writes (bytes/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;0;0 +Log reads (bytes/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;0;0 +Rows reads (bytes/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;6553;6553 +Log (writes/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;2;2 +Rows (writes/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;0;0 +Log (reads/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;0;0 +Rows (reads/sec);WIN8-DEV;Database IO;0;0;0;0;0;0;0;0;0;0` + +const mockDatabaseSize = `measurement;servername;type;AdventureWorks2014;Australian;DOC.Azure;master;model;msdb;ngMon;ResumeCloud;tempdb +Log size (bytes);WIN8-DEV;Database size;538968064;1048576;786432;2359296;4325376;30212096;1048576;786432;4194304 +Rows size (bytes);WIN8-DEV;Database size;2362703872;3211264;26083328;5111808;3342336;24051712;46137344;10551296;1073741824` + +const mockDatabaseProperties string = `measurement;servername;type;AdventureWorks2014;Australian;DOC.Azure;master;model;msdb;ngMon;ResumeCloud;tempdb;total +Recovery Model FULL;WIN8-DEV;Database properties;1;0;0;0;1;0;0;0;0;2 +Recovery Model BULK_LOGGED;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0 +Recovery Model SIMPLE;WIN8-DEV;Database properties;0;1;1;1;0;1;1;1;1;7 +State ONLINE;WIN8-DEV;Database properties;1;1;1;1;1;1;1;1;1;9 +State RESTORING;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0 +State RECOVERING;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0 +State RECOVERY_PENDING;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0 +State SUSPECT;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0 +State EMERGENCY;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0 +State OFFLINE;WIN8-DEV;Database properties;0;0;0;0;0;0;0;0;0;0` + +const mockMemoryClerk = `measurement;servername;type;Buffer pool;Cache (objects);Cache (sql plans);Other +Memory breakdown (%);WIN8-DEV;Memory clerk;31.30;0.30;14.00;54.50 +Memory breakdown (bytes);WIN8-DEV;Memory clerk;51986432.00;409600.00;23166976.00;90365952.00` + +const mockDatabaseStats = `measurement;servername;type;AdventureWorks2014;Australian;DOC.Azure;master;model;msdb;ngMon;ResumeCloud;tempdb +Log read latency (ms);WIN8-DEV;Database stats;24;20;11;15;20;46;0;0;3 +Log write latency (ms);WIN8-DEV;Database stats;3;0;0;2;0;1;0;0;0 +Rows read latency (ms);WIN8-DEV;Database stats;42;23;52;31;19;29;59;50;71 +Rows write latency (ms);WIN8-DEV;Database stats;0;0;0;9;0;0;0;0;0 +Rows (average bytes/read);WIN8-DEV;Database stats;62580;58056;59603;63015;62968;63042;58056;58919;176703 +Rows (average bytes/write);WIN8-DEV;Database stats;8192;0;0;8192;8192;0;0;0;32768 +Log (average bytes/read);WIN8-DEV;Database stats;69358;50322;74313;41642;19569;29857;45641;18432;143945 +Log (average bytes/write);WIN8-DEV;Database stats;4096;4096;0;5324;4915;4096;4096;32768;52379` + +const mockVolumeSpace = `measurement;servername;type;C:;D: (DATA);L: (LOG) +Volume total space (bytes);WIN8-DEV;OS Volume space;135338651648.00;32075874304.00;10701701120.00 +Volume available space (bytes);WIN8-DEV;OS Volume space;54297817088.00;28439674880.00;10107355136.00 +Volume used space (bytes);WIN8-DEV;OS Volume space;81040834560.00;3636199424.00;594345984.00 +Volume used space (%);WIN8-DEV;OS Volume space;60.00;11.00;6.00` + +const mockPerformanceCounters = `measurement;servername;type;value +AU cleanup batches/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +AU cleanups/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +By-reference Lob Create Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +By-reference Lob Use Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Count Lob Readahead | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Count Pull In Row | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Count Push Off Row | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Deferred dropped AUs | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Deferred Dropped rowsets | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Dropped rowset cleanups/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Dropped rowsets skipped/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Extent Deallocations/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Extents Allocated/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;2 +Failed AU cleanup batches/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Failed leaf page cookie | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Failed tree page cookie | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Forwarded Records/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +FreeSpace Page Fetches/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +FreeSpace Scans/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Full Scans/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Index Searches/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;1208 +InSysXact waits/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +LobHandle Create Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +LobHandle Destroy Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +LobSS Provider Create Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +LobSS Provider Destroy Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +LobSS Provider Truncation Count | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Mixed page allocations/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;10 +Page compression attempts/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Page Deallocations/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Page Splits/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;20 +Pages Allocated/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;22 +Pages compressed/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Probe Scans/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;6 +Range Scans/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;45 +Scan Point Revalidations/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Skipped Ghosted Records/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Table Lock Escalations/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Used leaf page cookie | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Used tree page cookie | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Workfiles Created/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;8 +Worktables Created/sec | SQLServer:Access Methods;WIN8-DEV;Performance counters;2 +Worktables From Cache Base | SQLServer:Access Methods;WIN8-DEV;Performance counters;0 +Worktables From Cache Ratio | SQLServer:Access Methods;WIN8-DEV;Performance counters;1 +Bytes Received from Replica/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Bytes Sent to Replica/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Bytes Sent to Transport/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Flow Control Time (ms/sec) | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Flow Control/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Receives from Replica/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Resent Messages/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Sends to Replica/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Sends to Transport/sec | _Total | SQLServer:Availability Replica;WIN8-DEV;Performance counters;0 +Batches >=000000ms & <000001ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;369 +Batches >=000000ms & <000001ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=000000ms & <000001ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;370 +Batches >=000000ms & <000001ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=000001ms & <000002ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;24 +Batches >=000001ms & <000002ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;24 +Batches >=000001ms & <000002ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;16 +Batches >=000001ms & <000002ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;16 +Batches >=000002ms & <000005ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;10 +Batches >=000002ms & <000005ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;30 +Batches >=000002ms & <000005ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;8 +Batches >=000002ms & <000005ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;23 +Batches >=000005ms & <000010ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;30 +Batches >=000005ms & <000010ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;211 +Batches >=000005ms & <000010ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;21 +Batches >=000005ms & <000010ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;148 +Batches >=000010ms & <000020ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;30 +Batches >=000010ms & <000020ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;432 +Batches >=000010ms & <000020ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;21 +Batches >=000010ms & <000020ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;305 +Batches >=000020ms & <000050ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;46 +Batches >=000020ms & <000050ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1545 +Batches >=000020ms & <000050ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;37 +Batches >=000020ms & <000050ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1261 +Batches >=000050ms & <000100ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;35 +Batches >=000050ms & <000100ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;2463 +Batches >=000050ms & <000100ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;18 +Batches >=000050ms & <000100ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1343 +Batches >=000100ms & <000200ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1 +Batches >=000100ms & <000200ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;161 +Batches >=000100ms & <000200ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;3 +Batches >=000100ms & <000200ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;373 +Batches >=000200ms & <000500ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=000200ms & <000500ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=000200ms & <000500ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1 +Batches >=000200ms & <000500ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;255 +Batches >=000500ms & <001000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=000500ms & <001000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=000500ms & <001000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;2 +Batches >=000500ms & <001000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1291 +Batches >=001000ms & <002000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=001000ms & <002000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=001000ms & <002000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;19 +Batches >=001000ms & <002000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;21560 +Batches >=002000ms & <005000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=002000ms & <005000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=002000ms & <005000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;1 +Batches >=002000ms & <005000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;2257 +Batches >=005000ms & <010000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=005000ms & <010000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=005000ms & <010000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;19 +Batches >=005000ms & <010000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;97479 +Batches >=010000ms & <020000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=010000ms & <020000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=010000ms & <020000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=010000ms & <020000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=020000ms & <050000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=020000ms & <050000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=020000ms & <050000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=020000ms & <050000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=050000ms & <100000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=050000ms & <100000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=050000ms & <100000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=050000ms & <100000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=100000ms | CPU Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=100000ms | CPU Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=100000ms | Elapsed Time:Requests | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Batches >=100000ms | Elapsed Time:Total(ms) | SQLServer:Batch Resp Statistics;WIN8-DEV;Performance counters;0 +Stored Procedures Invoked/sec | _Total | SQLServer:Broker Activation;WIN8-DEV;Performance counters;0 +Task Limit Reached | _Total | SQLServer:Broker Activation;WIN8-DEV;Performance counters;3 +Task Limit Reached/sec | _Total | SQLServer:Broker Activation;WIN8-DEV;Performance counters;0 +Tasks Aborted/sec | _Total | SQLServer:Broker Activation;WIN8-DEV;Performance counters;0 +Tasks Running | _Total | SQLServer:Broker Activation;WIN8-DEV;Performance counters;0 +Tasks Started/sec | _Total | SQLServer:Broker Activation;WIN8-DEV;Performance counters;0 +Activation Errors Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Broker Transaction Rollbacks | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Corrupted Messages Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Dequeued TransmissionQ Msgs/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Dialog Timer Event Count | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Dropped Messages Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Local Messages Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Local Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Messages Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P1 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P10 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P2 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P3 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P4 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P5 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P6 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P7 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P8 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued P9 Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued TransmissionQ Msgs/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Transport Msg Frag Tot | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Transport Msg Frags/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Transport Msgs Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Enqueued Transport Msgs/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Messages Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Messages/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Msg Byte Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Msg Bytes/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Msg Discarded Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Msgs Discarded/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Pending Msg Bytes | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Forwarded Pending Msg Count | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +SQL RECEIVE Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +SQL RECEIVEs/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +SQL SEND Total | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +SQL SENDs/sec | SQLServer:Broker Statistics;WIN8-DEV;Performance counters;0 +Avg. Length of Batched Writes | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;0 +Avg. Length of Batched Writes BS | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;1 +Avg. Time Between Batches (ms) | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;2062 +Avg. Time Between Batches Base | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;1 +Avg. Time to Write Batch (ms) | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;0 +Avg. Time to Write Batch Base | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;1 +Transmission Obj Gets/Sec | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;0 +Transmission Obj Set Dirty/Sec | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;0 +Transmission Obj Writes/Sec | SQLServer:Broker TO Statistics;WIN8-DEV;Performance counters;0 +Current Bytes for Recv I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Current Bytes for Send I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Current Msg Frags for Send I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P1 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P10 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P2 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P3 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P4 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P5 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P6 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P7 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P8 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment P9 Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment Receives/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Message Fragment Sends/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Msg Fragment Recv Size Avg | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Msg Fragment Recv Size Avg Base | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Msg Fragment Send Size Avg | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Msg Fragment Send Size Avg Base | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Open Connection Count | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Pending Bytes for Recv I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Pending Bytes for Send I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Pending Msg Frags for Recv I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Pending Msg Frags for Send I/O | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Receive I/O bytes/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Receive I/O Len Avg | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Receive I/O Len Avg Base | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Receive I/Os/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Recv I/O Buffer Copies bytes/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Recv I/O Buffer Copies Count | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Send I/O bytes/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Send I/O Len Avg | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Send I/O Len Avg Base | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Send I/Os/sec | SQLServer:Broker/DBM Transport;WIN8-DEV;Performance counters;0 +Background writer pages/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Buffer cache hit ratio | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;1 +Buffer cache hit ratio base | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;2448 +Checkpoint pages/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Database pages | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;6676 +Extension allocated pages | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension free pages | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension in use as percentage | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension outstanding IO counter | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension page evictions/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension page reads/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension page unreferenced time | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Extension page writes/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Free list stalls/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Integral Controller Slope | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;10 +Lazy writes/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Page life expectancy | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;29730 +Page lookups/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;2534 +Page reads/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Page writes/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Readahead pages/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Readahead time/sec | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;0 +Target pages | SQLServer:Buffer Manager;WIN8-DEV;Performance counters;16367616 +Database pages | 000 | SQLServer:Buffer Node;WIN8-DEV;Performance counters;6676 +Local node page lookups/sec | 000 | SQLServer:Buffer Node;WIN8-DEV;Performance counters;0 +Page life expectancy | 000 | SQLServer:Buffer Node;WIN8-DEV;Performance counters;29730 +Remote node page lookups/sec | 000 | SQLServer:Buffer Node;WIN8-DEV;Performance counters;0 +Cache Entries Count | _Total | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;2428 +Cache Entries Count | mssqlsystemresource | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;2204 +Cache Entries Pinned Count | _Total | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;0 +Cache Entries Pinned Count | mssqlsystemresource | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;0 +Cache Hit Ratio | _Total | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;1 +Cache Hit Ratio | mssqlsystemresource | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;1 +Cache Hit Ratio Base | _Total | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;71 +Cache Hit Ratio Base | mssqlsystemresource | SQLServer:Catalog Metadata;WIN8-DEV;Performance counters;30 +CLR Execution | SQLServer:CLR;WIN8-DEV;Performance counters;327033 +Active cursors | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Active cursors | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Active cursors | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Active cursors | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cached Cursor Counts | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cached Cursor Counts | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cached Cursor Counts | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cached Cursor Counts | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Cache Use Counts/sec | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Cache Use Counts/sec | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Cache Use Counts/sec | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Cache Use Counts/sec | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor memory usage | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor memory usage | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor memory usage | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor memory usage | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Requests/sec | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Requests/sec | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Requests/sec | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor Requests/sec | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor worktable usage | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor worktable usage | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor worktable usage | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Cursor worktable usage | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Number of active cursor plans | _Total | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Number of active cursor plans | API Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Number of active cursor plans | TSQL Global Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Number of active cursor plans | TSQL Local Cursor | SQLServer:Cursor Manager by Type;WIN8-DEV;Performance counters;0 +Async population count | SQLServer:Cursor Manager Total;WIN8-DEV;Performance counters;0 +Cursor conversion rate | SQLServer:Cursor Manager Total;WIN8-DEV;Performance counters;0 +Cursor flushes | SQLServer:Cursor Manager Total;WIN8-DEV;Performance counters;0 +File Bytes Received/sec | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Log Bytes Received/sec | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Log remaining for undo | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Log Send Queue | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Mirrored Write Transactions/sec | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Recovery Queue | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Redo blocked/sec | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Redo Bytes Remaining | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Redone Bytes/sec | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Total Log requiring undo | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Transaction Delay | _Total | SQLServer:Database Replica;WIN8-DEV;Performance counters;0 +Active Transactions | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Active Transactions | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Backup/Restore Throughput/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Backup/Restore Throughput/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Bulk Copy Rows/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Bulk Copy Rows/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Bulk Copy Throughput/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Bulk Copy Throughput/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Commit table entries | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Commit table entries | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Data File(s) Size (KB) | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;3512576 +Data File(s) Size (KB) | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;40960 +DBCC Logical Scan Bytes/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +DBCC Logical Scan Bytes/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Group Commit Time/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Group Commit Time/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Bytes Flushed/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;307200 +Log Bytes Flushed/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Cache Hit Ratio | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Cache Hit Ratio | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Cache Hit Ratio Base | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Cache Hit Ratio Base | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Cache Reads/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Cache Reads/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log File(s) Size (KB) | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;570992 +Log File(s) Size (KB) | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;1016 +Log File(s) Used Size (KB) | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;315480 +Log File(s) Used Size (KB) | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;634 +Log Flush Wait Time | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Flush Wait Time | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Flush Waits/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Flush Waits/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Flush Write Time (ms) | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;1 +Log Flush Write Time (ms) | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Flushes/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;5 +Log Flushes/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Growths | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Growths | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Pool Cache Misses/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Pool Cache Misses/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Pool Disk Reads/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Pool Disk Reads/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Pool Requests/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Pool Requests/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Shrinks | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Shrinks | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Log Truncations | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;5 +Log Truncations | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Percent Log Used | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;55 +Percent Log Used | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;62 +Repl. Pending Xacts | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Repl. Pending Xacts | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Repl. Trans. Rate | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Repl. Trans. Rate | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Shrink Data Movement Bytes/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Shrink Data Movement Bytes/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Tracked transactions/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Tracked transactions/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Transactions/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;6 +Transactions/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Write Transactions/sec | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;3 +Write Transactions/sec | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +XTP Memory Used (KB) | _Total | SQLServer:Databases;WIN8-DEV;Performance counters;0 +XTP Memory Used (KB) | mssqlsystemresource | SQLServer:Databases;WIN8-DEV;Performance counters;0 +Usage | '#' and '##' as the name of temporary tables and stored procedures | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | '::' function calling syntax | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | '@' and names that start with '@@' as Transact-SQL identifiers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | ADDING TAPE DEVICE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | ALL Permission | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | ALTER DATABASE WITH TORN_PAGE_DETECTION | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | ALTER LOGIN WITH SET CREDENTIAL | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | asymmetric_keys | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | asymmetric_keys.attested_by | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Azeri_Cyrillic_90 | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Azeri_Latin_90 | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | BACKUP DATABASE or LOG TO TAPE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | certificates | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | certificates.attested_by | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Create/alter SOAP endpoint | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | CREATE_DROP_DEFAULT | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | CREATE_DROP_RULE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Data types: text ntext or image | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Database compatibility level 100 | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Database compatibility level 110 | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;4 +Usage | Database compatibility level 90 | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Database Mirroring | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DATABASEPROPERTY | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DATABASEPROPERTYEX('IsFullTextEnabled') | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DBCC [UN]PINTABLE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DBCC DBREINDEX | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DBCC INDEXDEFRAG | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DBCC SHOWCONTIG | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DBCC_EXTENTINFO | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DBCC_IND | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DEFAULT keyword as a default value | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Deprecated Attested Option | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Deprecated encryption algorithm | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DESX algorithm | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.is_paused | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.previous_status | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.previous_status_description | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.row_count_in_thousands | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.status | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.status_description | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_active_catalogs.worker_count | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_memory_buffers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | dm_fts_memory_buffers.row_count | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | DROP INDEX with two-part name | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | endpoint_webmethods | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | EXTPROP_LEVEL0TYPE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | EXTPROP_LEVEL0USER | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | FILE_ID | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_get_sql | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_servershareddrives | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_trace_geteventinfo | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_trace_getfilterinfo | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_trace_getinfo | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_trace_gettable | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fn_virtualservernodes | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fulltext_catalogs | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fulltext_catalogs.data_space_id | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fulltext_catalogs.file_id | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | fulltext_catalogs.path | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | FULLTEXTCATALOGPROPERTY('LogSize') | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | FULLTEXTCATALOGPROPERTY('PopulateStatus') | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | FULLTEXTSERVICEPROPERTY('ConnectTimeout') | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | FULLTEXTSERVICEPROPERTY('DataTimeout') | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | FULLTEXTSERVICEPROPERTY('ResourceUsage') | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | GROUP BY ALL | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Hindi | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | IDENTITYCOL | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | IN PATH | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Index view select list without COUNT_BIG(*) | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | INDEX_OPTION | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | INDEXKEY_PROPERTY | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Indirect TVF hints | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | INSERT NULL into TIMESTAMP columns | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | INSERT_HINTS | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Korean_Wansung_Unicode | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Lithuanian_Classic | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Macedonian | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | MODIFY FILEGROUP READONLY | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | MODIFY FILEGROUP READWRITE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | More than two-part column name | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Multiple table hints without comma | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | NOLOCK or READUNCOMMITTED in UPDATE or DELETE | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Numbered stored procedures | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | numbered_procedure_parameters | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | numbered_procedures | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | objidupdate | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Old NEAR Syntax | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | OLEDB for ad hoc connections | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | PERMISSIONS | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | READTEXT | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | REMSERVER | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | RESTORE DATABASE or LOG WITH MEDIAPASSWORD | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | RESTORE DATABASE or LOG WITH PASSWORD | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Returning results from trigger | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | ROWGUIDCOL | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET ANSI_NULLS OFF | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET ANSI_PADDING OFF | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET CONCAT_NULL_YIELDS_NULL OFF | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET ERRLVL | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET FMTONLY ON | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET OFFSETS | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET REMOTE_PROC_TRANSACTIONS | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SET ROWCOUNT | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SETUSER | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | soap_endpoints | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addapprole | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addextendedproc | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addlogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addremotelogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addrole | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addrolemember | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addserver | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addsrvrolemember | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_addtype | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_adduser | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_approlepassword | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_attach_db | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_attach_single_file_db | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_bindefault | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_bindrule | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_bindsession | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_certify_removable | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_change_users_login | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_changedbowner | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_changeobjectowner | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'affinity mask' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'affinity64 mask' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'allow updates' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'c2 audit mode' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'default trace enabled' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'disallow results from triggers' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'ft crawl bandwidth (max)' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'ft crawl bandwidth (min)' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'ft notify bandwidth (max)' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'ft notify bandwidth (min)' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'locks' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'open objects' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'priority boost' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'remote proc trans' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_configure 'set working set size' | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_control_dbmasterkey_password | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_create_removable | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_db_increased_partitions | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_db_selective_xml_index | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_db_vardecimal_storage_format | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dbcmptlevel | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dbfixedrolepermission | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dbremove | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_defaultdb | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_defaultlanguage | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_denylogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_depends | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_detach_db @keepfulltextindexfile | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dropapprole | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dropextendedproc | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_droplogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dropremotelogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_droprole | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_droprolemember | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dropsrvrolemember | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_droptype | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_dropuser | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_estimated_rowsize_reduction_for_vardecimal | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_catalog | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_column | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_database | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_service @action=clean_up | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_service @action=connect_timeout | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_service @action=data_timeout | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_service @action=resource_usage | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_fulltext_table | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_getbindtoken | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_grantdbaccess | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_grantlogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_catalog_components | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_catalogs | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_catalogs_cursor | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_columns | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_columns_cursor | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_tables | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_help_fulltext_tables_cursor | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_helpdevice | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_helpextendedproc | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_helpremotelogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_indexoption | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_lock | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_password | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_remoteoption | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_renamedb | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_resetstatus | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_revokedbaccess | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_revokelogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_srvrolepermission | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_trace_create | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_trace_getdata | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_trace_setevent | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_trace_setfilter | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_trace_setstatus | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_unbindefault | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sp_unbindrule | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | SQL_AltDiction_CP1253_CS_AS | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sql_dependencies | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | String literals as column aliases | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysaltfiles | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syscacheobjects | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syscolumns | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syscomments | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysconfigures | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysconstraints | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syscurconfigs | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysdatabases | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysdepends | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysdevices | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysfilegroups | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysfiles | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysforeignkeys | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysfulltextcatalogs | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysindexes | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysindexkeys | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syslockinfo | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syslogins | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysmembers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysmessages | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysobjects | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysoledbusers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysopentapes | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysperfinfo | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | syspermissions | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysprocesses | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysprotects | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysreferences | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysremotelogins | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysservers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | systypes | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | sysusers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Table hint without WITH | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Text in row table option | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | TEXTPTR | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | TEXTVALID | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | TIMESTAMP | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | UPDATETEXT or WRITETEXT | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | USER_ID | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Using OLEDB for linked servers | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | Vardecimal storage format | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | XMLDATA | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | XP_API | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;3 +Usage | xp_grantlogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | xp_loginconfig | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Usage | xp_revokelogin | SQLServer:Deprecated Features;WIN8-DEV;Performance counters;0 +Distributed Query | Average execution time (ms) | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Distributed Query | Cumulative execution time (ms) per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Distributed Query | Execs in progress | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Distributed Query | Execs started per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +DTC calls | Average execution time (ms) | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +DTC calls | Cumulative execution time (ms) per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +DTC calls | Execs in progress | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +DTC calls | Execs started per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Extended Procedures | Average execution time (ms) | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Extended Procedures | Cumulative execution time (ms) per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Extended Procedures | Execs in progress | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Extended Procedures | Execs started per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +OLEDB calls | Average execution time (ms) | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +OLEDB calls | Cumulative execution time (ms) per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +OLEDB calls | Execs in progress | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +OLEDB calls | Execs started per second | SQLServer:Exec Statistics;WIN8-DEV;Performance counters;0 +Avg time delete FileTable item | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time FileTable enumeration | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time FileTable handle kill | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time move FileTable item | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time per file I/O request | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time per file I/O response | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time rename FileTable item | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time to get FileTable item | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Avg time update FileTable item | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable db operations/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable enumeration reqs/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable file I/O requests/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable file I/O response/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable item delete reqs/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable item get requests/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable item move reqs/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable item rename reqs/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable item update reqs/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable kill handle ops/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +FileTable table operations/sec | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time delete FileTable item BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time FileTable enumeration BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time FileTable handle kill BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time move FileTable item BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time per file I/O request BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time per file I/O response BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time rename FileTable item BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time to get FileTable item BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Time update FileTable item BASE | SQLServer:FileTable;WIN8-DEV;Performance counters;0 +Active Temp Tables | SQLServer:General Statistics;WIN8-DEV;Performance counters;2 +Connection Reset/sec | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Event Notifications Delayed Drop | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +HTTP Authenticated Requests | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Logical Connections | SQLServer:General Statistics;WIN8-DEV;Performance counters;2 +Logins/sec | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Logouts/sec | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Mars Deadlocks | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Non-atomic yield rate | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Processes blocked | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SOAP Empty Requests | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SOAP Method Invocations | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SOAP Session Initiate Requests | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SOAP Session Terminate Requests | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SOAP SQL Requests | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SOAP WSDL Requests | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +SQL Trace IO Provider Lock Waits | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Temp Tables Creation Rate | SQLServer:General Statistics;WIN8-DEV;Performance counters;1 +Temp Tables For Destruction | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Tempdb recovery unit id | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Tempdb rowset id | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Trace Event Notification Queue | SQLServer:General Statistics;WIN8-DEV;Performance counters;0 +Transactions | SQLServer:General Statistics;WIN8-DEV;Performance counters;1 +User Connections | SQLServer:General Statistics;WIN8-DEV;Performance counters;2 +Avg. Bytes/Read | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. Bytes/Read BASE | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. Bytes/Transfer | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. Bytes/Transfer BASE | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. Bytes/Write | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. Bytes/Write BASE | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. microsec/Read | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. microsec/Read BASE | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. microsec/Transfer | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. microsec/Transfer BASE | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. microsec/Write | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Avg. microsec/Write BASE | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +HTTP Storage IO retry/sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Outstanding HTTP Storage IO | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Read Bytes/Sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Reads/Sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Total Bytes/Sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Transfers/Sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Write Bytes/Sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Writes/Sec | _Total | SQLServer:HTTP Storage;WIN8-DEV;Performance counters;0 +Average Latch Wait Time (ms) | SQLServer:Latches;WIN8-DEV;Performance counters;0 +Average Latch Wait Time Base | SQLServer:Latches;WIN8-DEV;Performance counters;0 +Latch Waits/sec | SQLServer:Latches;WIN8-DEV;Performance counters;0 +Number of SuperLatches | SQLServer:Latches;WIN8-DEV;Performance counters;0 +SuperLatch Demotions/sec | SQLServer:Latches;WIN8-DEV;Performance counters;0 +SuperLatch Promotions/sec | SQLServer:Latches;WIN8-DEV;Performance counters;0 +Total Latch Wait Time (ms) | SQLServer:Latches;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time (ms) | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Average Wait Time Base | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Requests/sec | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;381 +Lock Requests/sec | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Requests/sec | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Requests/sec | Database | SQLServer:Locks;WIN8-DEV;Performance counters;27 +Lock Requests/sec | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;23 +Lock Requests/sec | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Requests/sec | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;1 +Lock Requests/sec | Key | SQLServer:Locks;WIN8-DEV;Performance counters;133 +Lock Requests/sec | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;71 +Lock Requests/sec | Object | SQLServer:Locks;WIN8-DEV;Performance counters;93 +Lock Requests/sec | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Requests/sec | Page | SQLServer:Locks;WIN8-DEV;Performance counters;25 +Lock Requests/sec | RID | SQLServer:Locks;WIN8-DEV;Performance counters;8 +Lock Requests/sec | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts (timeout > 0)/sec | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Timeouts/sec | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Wait Time (ms) | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Lock Waits/sec | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | _Total | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | AllocUnit | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Application | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Database | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Extent | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | File | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | HoBT | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Key | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Metadata | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Object | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | OIB | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | Page | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | RID | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Number of Deadlocks/sec | RowGroup | SQLServer:Locks;WIN8-DEV;Performance counters;0 +Internal benefit | Buffer Pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Internal benefit | Column store object pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Memory broker clerk size | Buffer Pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;6676 +Memory broker clerk size | Column store object pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;4 +Periodic evictions (pages) | Buffer Pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Periodic evictions (pages) | Column store object pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Pressure evictions (pages/sec) | Buffer Pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Pressure evictions (pages/sec) | Column store object pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Simulation benefit | Buffer Pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Simulation benefit | Column store object pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Simulation size | Buffer Pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Simulation size | Column store object pool | SQLServer:Memory Broker Clerks;WIN8-DEV;Performance counters;0 +Connection Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;1192 +Database Cache Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;53408 +External benefit of memory | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +Free Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;6552 +Granted Workspace Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +Lock Blocks | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +Lock Blocks Allocated | SQLServer:Memory Manager;WIN8-DEV;Performance counters;3050 +Lock Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;768 +Lock Owner Blocks | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +Lock Owner Blocks Allocated | SQLServer:Memory Manager;WIN8-DEV;Performance counters;5550 +Log Pool Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;1296 +Maximum Workspace Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;1154160 +Memory Grants Outstanding | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +Memory Grants Pending | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +Optimizer Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;984 +Reserved Server Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;0 +SQL Cache Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;2088 +Stolen Server Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;173608 +Target Server Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;1536000 +Total Server Memory (KB) | SQLServer:Memory Manager;WIN8-DEV;Performance counters;233568 +Database Node Memory (KB) | 000 | SQLServer:Memory Node;WIN8-DEV;Performance counters;53408 +Foreign Node Memory (KB) | 000 | SQLServer:Memory Node;WIN8-DEV;Performance counters;0 +Free Node Memory (KB) | 000 | SQLServer:Memory Node;WIN8-DEV;Performance counters;6552 +Stolen Node Memory (KB) | 000 | SQLServer:Memory Node;WIN8-DEV;Performance counters;173592 +Target Node Memory (KB) | 000 | SQLServer:Memory Node;WIN8-DEV;Performance counters;1535976 +Total Node Memory (KB) | 000 | SQLServer:Memory Node;WIN8-DEV;Performance counters;233552 +Cache Hit Ratio | _Total | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1 +Cache Hit Ratio | Bound Trees | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1 +Cache Hit Ratio | Extended Stored Procedures | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1 +Cache Hit Ratio | Object Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Hit Ratio | SQL Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1 +Cache Hit Ratio | Temporary Tables & Table Variables | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | _Total | SQLServer:Plan Cache;WIN8-DEV;Performance counters;6 +Cache Hit Ratio Base | Bound Trees | SQLServer:Plan Cache;WIN8-DEV;Performance counters;6 +Cache Hit Ratio Base | Extended Stored Procedures | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | Object Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | SQL Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Hit Ratio Base | Temporary Tables & Table Variables | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Object Counts | _Total | SQLServer:Plan Cache;WIN8-DEV;Performance counters;230 +Cache Object Counts | Bound Trees | SQLServer:Plan Cache;WIN8-DEV;Performance counters;90 +Cache Object Counts | Extended Stored Procedures | SQLServer:Plan Cache;WIN8-DEV;Performance counters;4 +Cache Object Counts | Object Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;2 +Cache Object Counts | SQL Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;134 +Cache Object Counts | Temporary Tables & Table Variables | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Objects in use | _Total | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1 +Cache Objects in use | Bound Trees | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Objects in use | Extended Stored Procedures | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Objects in use | Object Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Objects in use | SQL Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1 +Cache Objects in use | Temporary Tables & Table Variables | SQLServer:Plan Cache;WIN8-DEV;Performance counters;0 +Cache Pages | _Total | SQLServer:Plan Cache;WIN8-DEV;Performance counters;5759 +Cache Pages | Bound Trees | SQLServer:Plan Cache;WIN8-DEV;Performance counters;1055 +Cache Pages | Extended Stored Procedures | SQLServer:Plan Cache;WIN8-DEV;Performance counters;6 +Cache Pages | Object Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;50 +Cache Pages | SQL Plans | SQLServer:Plan Cache;WIN8-DEV;Performance counters;4646 +Cache Pages | Temporary Tables & Table Variables | SQLServer:Plan Cache;WIN8-DEV;Performance counters;2 +Active memory grant amount (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Active memory grant amount (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Active memory grants count | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Active memory grants count | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Read IO (ms) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Read IO (ms) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Read IO (ms) Base | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Read IO (ms) Base | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Write IO (ms) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Write IO (ms) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Write IO (ms) Base | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Avg Disk Write IO (ms) Base | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Cache memory target (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1231200 +Cache memory target (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1231200 +Compile memory target (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1231200 +Compile memory target (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1231200 +CPU control effect % | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;7 +CPU control effect % | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +CPU usage % | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +CPU usage % | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +CPU usage % base | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +CPU usage % base | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +CPU usage target % | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;7 +CPU usage target % | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Read Bytes/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Read Bytes/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Read IO Throttled/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Read IO Throttled/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Read IO/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Read IO/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Write Bytes/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Write Bytes/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Write IO Throttled/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Write IO Throttled/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Write IO/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Disk Write IO/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Max memory (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1459200 +Max memory (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1459200 +Memory grant timeouts/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Memory grant timeouts/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Memory grants/sec | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1 +Memory grants/sec | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Pending memory grants count | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Pending memory grants count | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;0 +Query exec memory target (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1154160 +Query exec memory target (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1154160 +Target memory (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1459200 +Target memory (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;1459200 +Used memory (KB) | default | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;52624 +Used memory (KB) | internal | SQLServer:Resource Pool Stats;WIN8-DEV;Performance counters;120976 +Errors/sec | _Total | SQLServer:SQL Errors;WIN8-DEV;Performance counters;0 +Errors/sec | DB Offline Errors | SQLServer:SQL Errors;WIN8-DEV;Performance counters;0 +Errors/sec | Info Errors | SQLServer:SQL Errors;WIN8-DEV;Performance counters;0 +Errors/sec | Kill Connection Errors | SQLServer:SQL Errors;WIN8-DEV;Performance counters;0 +Errors/sec | User Errors | SQLServer:SQL Errors;WIN8-DEV;Performance counters;0 +Auto-Param Attempts/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Batch Requests/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Failed Auto-Params/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Forced Parameterizations/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Guided plan executions/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Misguided plan executions/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Safe Auto-Params/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +SQL Attention rate | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +SQL Compilations/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;1 +SQL Re-Compilations/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;1 +Unsafe Auto-Params/sec | SQLServer:SQL Statistics;WIN8-DEV;Performance counters;0 +Free Space in tempdb (KB) | SQLServer:Transactions;WIN8-DEV;Performance counters;1045504 +Longest Transaction Running Time | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +NonSnapshot Version Transactions | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Snapshot Transactions | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Transactions | SQLServer:Transactions;WIN8-DEV;Performance counters;14 +Update conflict ratio | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Update conflict ratio base | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Update Snapshot Transactions | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Version Cleanup rate (KB/s) | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Version Generation rate (KB/s) | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Version Store Size (KB) | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Version Store unit count | SQLServer:Transactions;WIN8-DEV;Performance counters;2 +Version Store unit creation | SQLServer:Transactions;WIN8-DEV;Performance counters;2 +Version Store unit truncation | SQLServer:Transactions;WIN8-DEV;Performance counters;0 +Query | User counter 1 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 10 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 2 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 3 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 4 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 5 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 6 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 7 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 8 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Query | User counter 9 | SQLServer:User Settable;WIN8-DEV;Performance counters;0 +Lock waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Lock waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Lock waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Lock waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log buffer waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log buffer waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log buffer waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log buffer waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log write waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log write waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log write waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Log write waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Memory grant queue waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Memory grant queue waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Memory grant queue waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Memory grant queue waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Network IO waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Network IO waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Network IO waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Network IO waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Non-Page latch waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Non-Page latch waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Non-Page latch waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Non-Page latch waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page IO latch waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page IO latch waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page IO latch waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page IO latch waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page latch waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page latch waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page latch waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Page latch waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Thread-safe memory objects waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Thread-safe memory objects waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Thread-safe memory objects waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Thread-safe memory objects waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Transaction ownership waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Transaction ownership waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Transaction ownership waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Transaction ownership waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Wait for the worker | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Wait for the worker | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Wait for the worker | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Wait for the worker | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Workspace synchronization waits | Average wait time (ms) | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Workspace synchronization waits | Cumulative wait time (ms) per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Workspace synchronization waits | Waits in progress | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Workspace synchronization waits | Waits started per second | SQLServer:Wait Statistics;WIN8-DEV;Performance counters;0 +Active parallel threads | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Active parallel threads | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Active requests | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;1 +Active requests | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Blocked tasks | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Blocked tasks | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +CPU usage % | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +CPU usage % | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +CPU usage % base | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +CPU usage % base | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Max request cpu time (ms) | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;161 +Max request cpu time (ms) | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Max request memory grant (KB) | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;9816 +Max request memory grant (KB) | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Query optimizations/sec | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;1 +Query optimizations/sec | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Queued requests | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Queued requests | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Reduced memory grants/sec | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Reduced memory grants/sec | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Requests completed/sec | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Requests completed/sec | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Suboptimal plans/sec | default | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Suboptimal plans/sec | internal | SQLServer:Workload Group Stats;WIN8-DEV;Performance counters;0 +Cursor deletes/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Cursor inserts/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Cursor scans started/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Cursor unique violations/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Cursor updates/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Cursor write conflicts/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Dusty corner scan retries/sec (user-issued) | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Expired rows removed/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Expired rows touched/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Rows returned/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Rows touched/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Tentatively-deleted rows touched/sec | MSSQLSERVER | XTP Cursors;WIN8-DEV;Performance counters;0 +Dusty corner scan retries/sec (GC-issued) | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Main GC work items/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Parallel GC work item/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Rows processed/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Rows processed/sec (first in bucket and removed) | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Rows processed/sec (first in bucket) | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Rows processed/sec (marked for unlink) | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Rows processed/sec (no sweep needed) | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Sweep expired rows removed/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Sweep expired rows touched/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Sweep expiring rows touched/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Sweep rows touched/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Sweep scans started/sec | MSSQLSERVER | XTP Garbage Collection;WIN8-DEV;Performance counters;0 +Dusty corner scan retries/sec (Phantom-issued) | MSSQLSERVER | XTP Phantom Processor;WIN8-DEV;Performance counters;0 +Phantom expired rows removed/sec | MSSQLSERVER | XTP Phantom Processor;WIN8-DEV;Performance counters;0 +Phantom expired rows touched/sec | MSSQLSERVER | XTP Phantom Processor;WIN8-DEV;Performance counters;0 +Phantom expiring rows touched/sec | MSSQLSERVER | XTP Phantom Processor;WIN8-DEV;Performance counters;0 +Phantom rows touched/sec | MSSQLSERVER | XTP Phantom Processor;WIN8-DEV;Performance counters;0 +Phantom scans started/sec | MSSQLSERVER | XTP Phantom Processor;WIN8-DEV;Performance counters;0 +Checkpoints Closed | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Checkpoints Completed | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Core Merges Completed | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Merge Policy Evaluations | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Merge Requests Outstanding | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Merges Abandoned | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Merges Installed | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Total Files Merged | MSSQLSERVER | XTP Storage;WIN8-DEV;Performance counters;0 +Log bytes written/sec | MSSQLSERVER | XTP Transaction Log;WIN8-DEV;Performance counters;0 +Log records written/sec | MSSQLSERVER | XTP Transaction Log;WIN8-DEV;Performance counters;0 +Cascading aborts/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Commit dependencies taken/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Read-only transactions prepared/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Save point refreshes/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Save point rollbacks/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Save points created/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Transaction validation failures/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Transactions aborted by user/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Transactions aborted/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0 +Transactions created/sec | MSSQLSERVER | XTP Transactions;WIN8-DEV;Performance counters;0`