Microsoft SQL Server Metrics
Active cursors: The number of active cursors.
Active Temp Tables: The number of temporary tables/table variables in use.
Active Transactions: The number of active transactions for the database.
Active Worker Threads: The number of worker threads currently running out of the total available threads.
AU cleanup batches/sec: The number of batches per second that were completed successfully by the background task that cleans up deferred dropped allocation units.
AU cleanups/sec: The number of allocation units per second that were successfully dropped the background task that cleans up deferred dropped allocation units. Each allocation unit drop requires multiple batches.
Auto-Param Attempts/sec: The number of auto-parameterization attempts per second. Total should be the sum of the failed, safe, and unsafe auto-parameterizations. Auto-parameterization occurs when an instance of SQL Server tries to parameterize a Transact-SQL request by replacing some literals with parameters so that reuse of the resulting cached execution plan across multiple similar-looking requests is possible. Note that auto-parameterizations are also known as simple parameterizations in newer versions of SQL Server. This counter does not include forced parameterizations.
Available Threads: The difference between the total number of worker threads and the active worker threads.
Average Latch Wait Time (ms): Average latch wait time (in milliseconds) for latch requests that had to wait.
Average Wait Time (ms): Average amount of wait time (in milliseconds) for each lock request that resulted in a wait.
AWE Lookup Maps/sec: The number of times a database page is requested by the server, found in the buffer pool, and mapped. When it is mapped, it is made a part of the server's virtual address space.
AWE Stolen Maps/sec: The number of times a buffer is taken from the free list and mapped.
AWE Write Maps/sec: The number of times it is necessary to map in a dirty buffer so it can be written to disk.
Backup/Restore Throughput/sec: Read/write throughput for backup and restore operations of a database per second. For example, you can measure how the performance of the database backup operation changes when more backup devices are used in parallel or when faster devices are used. Throughput of a database backup or restore operation allows you to determine the progress and performance of your backup and restore operations.
Batch Requests/sec: The number of Transact-SQL command batches received per second. This statistic is affected by all constraints (such as I/O, number of users, cache size, complexity of requests, and so on). High batch requests mean good throughput.
Buffer cache hit ratio: Percentage of pages found in the buffer cache without having to read from disk. The ratio is the total number of cache hits divided by the total number of cache lookups over the last few thousand page accesses. The ratio is displayed as a percentage. After a long period of time, the ratio moves very little. Because reading from the cache is much less expensive than reading from disk, you want this ratio to be high. Generally, you can increase the buffer cache hit ratio by increasing the amount of memory available to SQL Server.
Bulk Copy Rows/sec: The number of rows bulk copied per second.
Bulk Copy Throughput/sec: Amount of data bulk copied (in kilobytes) per second.
By-reference Lob Create Count: Count of large object (lob) values that were passed by reference. By-reference lobs are used in certain bulk operations to avoid the cost of passing them by value.
By-reference Lob Use Count: Count of by-reference lob values that were used. By-reference lobs are used in certain bulk operations to avoid the cost of passing them by-value.
Cache Hit Ratio: Ratio between cache hits and lookups. The ratio is displayed as a percentage.
Cache Object Counts: The number of cache objects in the cache.
Cache Objects in use: The number of cache objects in use.
Cache Pages: The number of 8-kilobyte (KB) pages used by cache objects.
Cached Cursor Counts: The number of cursors of a given type in the cache.
Checkpoint pages/sec: The number of pages flushed to disk per second by a checkpoint or other operation that require all dirty pages to be flushed.
CLR Execution: Total execution time in CLR (microseconds)
Connection Memory (KB): Total amount of dynamic memory the server is using for maintaining connections.
Connection Resets/sec: The total number of logins started from the connection pool.
Count Lob Readahead: Count of lob pages on which readahead was issued.
Count Pull In Row: Count of column values that were pulled in-row from off-row.
Count Push Off Row: Count of column values that were pushed from in-row to off-row.
Cursor Cache use count/sec: The total number of times each type of cached cursor is used.
Cursor memory usage: Amount of memory consumed by cursors in kilobytes (KB).
Count/sec: Times each type of cached cursor has been used. Cursor memory usage Amount of memory consumed by cursors in kilobytes (KB).
Cursor Requests/sec: The number of SQL cursor requests received by the server. Cursor worktable usage Number of worktables used by cursors. Data File(s) Size (KB) Cumulative size (in kilobytes) of all the data files in the database including any automatic growth. Monitoring this counter is useful, for example, for determining the correct size of Database pages Number of pages in the buffer pool with database content.
Cursor worktable usage: Number of worktables in use by cursors.
Data File(s) Size(KB): Cumulative size (Kb) of all data files in the database including any automatic growth. Monitoring this counter to determine the correct size of tempdb.
Database pages: Number of database pages in use.
DBCC Logical Scan Bytes/sec: The number of logical read scan bytes per second for database console commands (DBCC).
Deferred Dropped Aus: The number of allocation units waiting to be dropped by the background task that cleans up deferred dropped allocation units.
Deferred Dropped rowsets: The number of rowsets created as a result of aborted online index build operations that are waiting to be dropped by the background task that cleans up deferred dropped rowsets.
Dropped rowset cleanups/sec: The number of rowsets per second created as a result of aborted online index build operations that were successfully dropped by the background task that cleans up deferred dropped rowsets.
Dropped rowsets skipped/sec: The number of rowsets per second created as a result of aborted online index build operations that were skipped by the background task that cleans up deferred dropped rowsets created.
Errors/sec: The number of errors/sec.
Event Notifications Delayed Drop: The number of event notifications waiting to be dropped by a system thread.
Extent Deallocations/sec: The number of extents deallocated per second in all databases in this instance of SQL Server.
Extents Allocated/sec: The number of extents allocated per second in all databases in this instance of SQL Server.
Failed AU cleanup batches/sec: The number of batches per second that failed and required retry, by the background task that cleans up deferred dropped allocation units. Failure could be due to lack of memory or disk space, hardware failure, and other reasons.
Failed Auto-Params/sec: The number of failed auto-parameterization attempts per second. This should be small. Note that auto-parameterizations are also known as simple parameterizations in later versions of SQL Server.
Failed leaf page cookie: The number of times that a leaf page cookie could not be used during an index search since changes happened on the leaf page. The cookie is used to speed up the index search.
Failed tree page cookie: The number of times that a tree page cookie could not be used during an index search since changes happened on the parent pages of those tree pages. The cookie is used to speed up the index search.
Forced Parameterizations/sec: The number of successful forced parameterizations per second.
Forwarded Records/sec: The number of records per second fetched through forwarded record pointers.
Free list stalls/sec: The number of requests per second that had to wait for a free page.
Free Log Space in tempdb (MB): The total unused log space (in megabytes) in tempdb.
Free pages: The total number of free pages on the node.
Free Space in tempdb (KB): The amount of space (in kilobytes) available in FreeSpace Page.
FreeSpace Page Fetches/sec: Number of pages fetched/second by free space scans. These scans search for free space within pages already allocated to an allocation unit, to address requests to insert or modify record fragments.
FreeSpace Scans/sec: The number of scans per second that were initiated to search for free space within pages already allocated to an allocation unit to insert or modify record fragment. Each scan may find multiple pages.
Full Scans/sec: The number of unrestricted full scans per second. These can be either base-table or full-index scans.
Granted Workspace Memory (KB): Total amount of memory currently granted to executing processes such as hash, sort, bulk copy, and index creation operations.
Guided Plan Executions/sec: The number of plan executions per second in which the query plan has been generated by using a plan guide.
HTTP Authenticated Requests: The number of authenticated HTTP requests started per second. Index Searches/sec Number of index searches per second. These are used to start a range scan, reposition a range scan, revalidate a scan point, fetch a single index record, and search down the index to locate where to insert a new row.
Index Searches/sec: Number of index searches per second. These are used to start a range scan, reposition a range scan, revalidate a scan point, fetch a single index record, and search down the index to locate where to insert a new row.
Latch Waits/sec: The number of latch requests that could not be granted immediately.
Lazy writes/sec: The number of buffers written per second by the buffer manager's lazy writer. The lazy writer is a system process that flushes out batches of dirty, aged buffers (buffers that contain changes that must be written back to disk before the buffer can be reused for a different page) and makes them available to user processes. The lazy writer eliminates the need to perform frequent checkpoints in order to create available buffers.
LobHandle Create Count: Count of temporary lobs created.
LobHandle Destroy Count: Count of temporary lobs destroyed.
LobSS Provider Create Count: Count of LOB Storage Service Providers (LobSSP) created. One worktable created per LobSSP.
LobSS Provider Destroy Count: Count of LobSSP destroyed.
LobSS Provider Truncation Count: Count of LobSSP truncated.
Lock Blocks: Current number of lock blocks in use on the server (refreshed periodically). A lock block represents an individual locked resource, such as a table, page, or row.
Lock Blocks Allocated: Current number of allocated lock blocks. At server startup, the number of allocated lock blocks plus the number of allocated lock owner blocks depends on the SQL Server
Lock Memory (KB): Total amount of dynamic memory the server is using for locks.
Lock Owner Blocks: The number of lock owner blocks currently in use on the server (refreshed periodically). A lock owner block represents the ownership of a lock on an object by an individual thread. Therefore, if three threads each have a shared (S) lock on a page, there will be three lock owner blocks.
Lock Owner Blocks Allocated: Current number of allocated lock owner blocks. At server startup, the number of allocated lock owner blocks and the number of allocated lock blocks depend on the SQL
Lock Requests/sec: The number of new locks and lock conversions per second requested from the lock manager.
Lock Timeouts (timeout > 0)/sec: The number of lock requests per second that timed out, but excluding requests for NOWAIT locks.
Lock Timeouts/sec: The number of lock requests per second that timed out, including requests for NOWAIT locks.
Lock Wait Time (ms): Total wait time (in milliseconds) for locks in the last second.
Lock Waits/sec: The number of lock requests per second that required the caller to wait.
Log Bytes Flushed/sec: Total number of log bytes flushed.
Log Cache Hit Ratio: Percentage of log cache reads satisfied from the log cache.
Log Cache Reads/sec: Reads performed per second through the log manager cache.
Log File(s) Size (KB): Cumulative size (in kilobytes) of all the transaction log files in the database.
Log File(s) Used Size (KB): The cumulative used size of all the log files in the database.
Log Flush Wait TimeTotal wait time (in milliseconds) to flush the log.
Log Flush Waits/sec: The number of commits per second waiting for the log flush.
Log Flushes/sec: The number of log flushes per second.
Log Growths: Total number of times the transaction log for the database has been expanded.
Log Shrinks: Total number of times the transaction log for the database has been shrunk.
Log Truncations: Total number of times the transaction log for the database has been truncated.
Logical Connections: The number of logical connections to the system.
Logins/sec: Total number of logins started per second. This does not include pooled connections.
Logouts/sec: Total number of logout operations started per second.
Longest Transaction Running Time: The length of time (in seconds) since the start of the transaction that has been active longer than any other current transaction.
Mars Deadlocks: The number of Mars Deadlocks detected.
Maximum Workspace Memory (KB): Maximum amount of memory available for executing processes such as hash, sort, bulk copy, and index creation operations.
Memory Grants Outstanding: Total number of processes that have successfully acquired a workspace memory grant.
Memory Grants Pending: Total number of processes waiting for a workspace memory grant.
Misguided Plan Executions/sec: The number of plan executions per second in which a plan guide is not considered during plan generation. A normal compilation is used instead of the plan guide to execute the plan.
Mixed page allocations/sec: The number of pages allocated per second from mixed extents. These could be used for storing the IAM pages and the first eight pages that are allocated to an allocation unit.
Non-atomic yield rate: The number of non-atomic yields per second.
NonSnapshot Version Transactions: The number of currently active transactions that are not using snapshot isolation level and have made data modifications that have generated row versions in the Number of active cursor plans.
Number of active cursor plans: Number of cursor plans.
Number of Deadlocks/sec: The number of lock requests per second that resulted in a deadlock.
Number of SuperLatches: The number of latches that are currently SuperLatches.
Optimizer Memory (KB): Total amount of dynamic memory the server is using for query optimization.
Page compression attempts/sec: The number of pages evaluated for page-level compression. Includes pages that were not compressed because significant savings could be achieved. Includes all objects in the instance of SQL Server. For information about specific objects, see sys.dm_db_index_operational_stats (Transact-SQL).
Page Deallocations/sec: The number of pages deallocated per second in all databases in this instance of SQL Server. These include pages from mixed extents and uniform extents.
Page life expectancy: The number of seconds a page will stay in the buffer pool without references.
Page lookups/sec: The number of requests per second to find a page in the buffer pool.
Page reads/sec: The number of physical database page reads that are issued per second. This statistic displays the total number of physical page reads across all databases. Because physical I/O is expensive, you may be able to minimize the cost, either by using a larger data cache, intelligent indexes, and more efficient queries or by changing the database design.
Page Splits/sec: The number of page splits per second that occur as the result of overflowing index pages.
Page writes/sec: The number of physical database page writes issued per second.
Pages Allocated/sec: The number of pages allocated per second in all databases in this instance of SQL Server. These include pages allocations from both mixed extents and uniform extents.
Pages compressed/sec: The number of data pages that are compressed by using PAGE compression. Includes all objects in the instance of SQL Server. For information about specific objects, see sys.dm_db_index_operational_stats (Transact-SQL).
Percent Log Used: Percentage of space in the log that is in use.
Percent Used Log Space in tempdb: The ratio of the used log space to the total log space in tempdb. The ratio is displayed as a percentage.
Probe Scans/sec: The number of probe scans per second that are used to find at most one single qualified row in an index or base table directly.
Processes blocked: The number of currently blocked processes.
Range Scans/sec: The number of qualified range scans through indexes per second.
Readahead pages/sec: The number of pages read per second in anticipation of use.
Repl. Trans. Rate: The number of transactions per second read out of the transaction log of the publication database and delivered to the distribution database.
Requests Waiting for Threads: The total number of requests waiting to be allocated a thread.
Reserved Pages: The total number of pages reserved for the partition.
Safe Auto-Params/sec: The number of safe auto-parameterization attempts per second. Safe refers to a determination that a cached execution plan can be shared between different similar-looking Transact-SQL statements. SQL Server makes many auto-parameterization attempts some of which turn out to be safe and others fail. Note that auto-parameterizations are also known as simple parameterizations in later versions of SQL Server. This does not include forced parameterizations.
Scan Point Revalidations/sec: The number of times per second that the scan point had to be revalidated to continue the scan.
Skipped Ghosted Records/sec: The number of ghosted records per second skipped during scans.
Snapshot Transactions: The number of currently active transactions using the snapshot isolation level. N.B. The SOAP Empty Requests Number of empty SOAP requests started per second.
SOAP Empty Requests: The number of SOAP method invocations passed to the stored procedure (or template) with an empty string as its value (not a NULL value) in order to provide an included input parameter with no value assigned to it.
SOAP Method Invocations: The number of SOAP method invocations started per second.
SOAP Session Initiate Requests: The number of SOAP Session initiate requests started per second.
SOAP Session Terminate Requests: The number of SOAP Session terminate requests started per second.
SOAP SQL Requests: The number of SOAP SQL requests started per second.
SOAP WSDL Requests: The number of SOAP Web Service Description Language requests started per second.
SQL Attention rate: The number of attentions per second. An attention is a request by the client to end the currently running request.
SQL Cache Memory (KB): Total amount of dynamic memory the server is using for the dynamic SQL cache.
SQL Compilations/sec: The number of SQL compilations per second. Indicates the number of times the compile code path is entered. Includes compiles caused by statement-level recompilations in SQL Server. After SQL Server user activity is stable, this value reaches a steady state.
SQL Re-Compilations/sec: The number of statement recompiles per second. Counts the number of times statement recompiles are triggered. Generally, you want the recompiles to be low. In later versions of SQL Server, recompilations are statement-scoped instead of batch-scoped recompilations in Microsoft SQL Server 2000. Therefore, direct comparison of values of this counter between SQL Server and earlier versions is not possible.
SQL Re-Compilations/sec Percent: (Total number of recompilations per second) / (Total number of compilations per second) * 100
Stolen Pages: The number of pages used for miscellaneous server purposes (stolen from the buffer pool) on the node.
Stored Procedures Invoked/sec: This counter reports the total number of activation stored procedures invoked by all queue monitors in the instance per second.
SuperLatch Demotions/sec: The number of SuperLatches that have been demoted to regular latches in the last second.
SuperLatch Promotions/sec: The number of latches that have been promoted to SuperLatches in the last second.
Table Lock Escalations/sec: The number of times locks on a table were escalated to the TABLE or HoBT granularity. Target pages Ideal number of pages in the buffer pool.
Target pages: Ideal number of pages in the buffer pool.
Target Server Memory (KB): Total amount of dynamic memory the server can consume.
Task Limit Reached: The number of times that a queue monitor would have started a new task, but did not because the maximum number of tasks for the queue is already running.
Task Limit Reached/sec: The number of times per second that a queue monitor would have started a new task, but did not because the maximum number of tasks for the queue is already running.
Tasks Aborted/sec: The number of activation stored procedure tasks that end with an error or are aborted by a queue monitor for failing to receive messages.
Tasks Running: The number of activation stored procedures that are currently running.
Tasks Started/sec: The number of activation stored procedures started per second by all queue monitors in the instance.
Temp Tables Creation Rate: The number of temporary tables/table variables created per second.
Temp Tables For Destruction: The number of temporary tables/table variables waiting to be destroyed by the cleanup system thread.
Total Latch Wait Time (ms): Total latch wait time (in milliseconds) for latch requests in the last second.
TOTAL_LOCK_TIME: Total lock time is calculated based on the number of blocking sessions per second granularity. This does not consider the duration when a transaction is rolled back during a session-level or server-level lock timeout.
Total Pages: The total number of pages in the buffer pool on the node that includes database, free, and stolen pages.
Total Server Memory (KB): The committed memory from the buffer pool (in kilobytes).
Total Threads: The total number of worker threads available.
Trace Event Notifications Queue: The number of trace event notification instances waiting in the internal queue to be sent through Service Broker.
Transactions: The number of currently active transactions of all types.
Transactions/sec: The number of transactions started for the database per second.
Unsafe Auto-Params/sec: The number of unsafe auto-parameterization attempts per second. For example, the query has some characteristics that prevent the cached plan from being shared. These are designated as unsafe. This does not count the number of forced parameterizations.
Update conflict ratio: The percentage of those transactions using the snapshot isolation level that have encountered update conflicts within the last second. An update conflict occurs when a snapshot isolation level transaction attempts to modify a row that last was modified by another transaction that was not committed when the snapshot isolation level transaction started.
Update Snapshot Transactions: The number of currently active transactions using the snapshot isolation level and have modified data.
Used leaf page cookie: The number of times a leaf page cookie is used successfully during an index search since no change happened on the leaf page. The cookie is used to speed up the index search.
Used Log Space in tempdb (MB): The total log space (in megabytes) used up in the tempdb.
Used tree page cookie: The number of times a tree page cookie is used successfully during an index search since no change happened on the parent page of the tree page. The cookie is used to speed up the index search.
User Connections: The number of users currently connected to SQL Server.
User Processes Blocked (min): The sum of the time processes (in minutes) that are waiting to run.
Version Cleanup rate (KB/s): The rate (in kilobytes per second) at which row versions are removed from the snapshot isolation version store.
Version Generation rate (KB/s): The rate (in kilobytes per second) at which new row versions are added to the snapshot isolation version store.
Version Store Size (KB): The amount of space (in kilobytes) in Version Store unit count The number of active allocation units in the snapshot isolation version store.
Version Store unit count: The number of active allocation units in the snapshot isolation version store in tempdb.
Version Store unit creation: The number of allocation units that have been created in the snapshot isolation store since the instance of the Database Engine was started.
Version Store unit truncation: The number of allocation units that have been removed from the snapshot isolation store since the instance of the Database Engine was started.
Workers Waiting for CPU: The total number of workers waiting to get the CPU time.
Workfiles Created/sec: The number of work files created per second. For example, work files could be used to store temporary results for hash joins and hash aggregates.
Worktables Created/sec: The number of work tables created per second. For example, work tables could be used to store temporary results for query spool, lob variables, XML variables, and cursors.
Worktables From Cache Ratio: Percentage of work tables created where the initial two pages of the work table were not allocated but were immediately available from the work table cache. (When a work table is dropped, two pages may remain allocated and they are returned to the work table cache. This increases performance.)
Write Transactions/sec: The number of transactions that wrote to the database and committed, in the last second.
IO Metrics
IO Metrics | Description |
---|---|
Data File Average Read Size | Data file average read size in Kilobytes. |
Data File Average Write Size | Data file average write size in Kilobytes. |
Data File Bytes Read | Data file bytes read per second. |
Data File Bytes Write | Data file bytes write per second. |
Data File IO Stalls | Data file IO stalls , indicator of IO problem |
Data File Read | Number of read per second from data file. |
Data File Write | Number of write per second into data file. |
Log File Average Read Size | Log file average read size in Kilobytes. |
Log File Average Write Size | Log file average write size in Kilobytes. |
Log File Bytes Read | Log file bytes read per second. |
Log File Bytes Write | Log file bytes write per second. |
Log File IO Stalls | Log file Io stalls , indicator of IO problem. |
Log File Read | Number of read per second from log file. |
Log File Write | Number of write per second from log file. |