Skip to content

SQL Server Counters

Dashboard overviewSQL Server

Page Description

This dashboard provides a global operational view of a SQL Server instance. It brings together quick indicators to validate availability, memory usage, tempdb space, database and log size, engine activity, I/O latency, waits, and replica synchronization. It is meant to be the first place to check whether the main issue is memory, CPU, concurrency, storage, or high availability.

Variables

VariableDescription
$InstanceSQL Server instance to analyze. It changes every panel on the page so the whole view focuses on that server.
Time rangeTime period used by historical panels. It mainly affects time series and the averages shown in performance counters.

Instance Info

Immediate summary of the selected instance: uptime, memory, tempdb, cache, CPU, connections, and base engine counters.

Up Time

  • Description: Time elapsed since the last instance startup. It helps detect recent restarts and gives context to other counters that may not be stable yet.
  • Panel type: stat
  • Units: Days

Thresholds

ValueColorDescription
Up to 1 dayRecent restart or still in warm-up phase.
> 1 dayStable uptime.

Practical recommendation: If the instance restarted recently, review Page Life Expectancy, Buffer Cache Hit Ratio, and memory usage before drawing conclusions.

Max SQL Server Memory

  • Description: Maximum memory SQL Server is configured to use. It helps validate whether the instance has a sensible limit compared with total server RAM.
  • Panel type: stat
  • Units: Memory

Practical recommendation: Make sure enough memory is reserved for the operating system and other services to avoid paging and external memory pressure.

Used SQL Server Memory

  • Description: Memory currently used by SQL Server. It is useful to compare real consumption with configured maximum and current workload.
  • Panel type: stat
  • Units: Memory

Practical recommendation: If usage stays close to the maximum and cache-related counters worsen, review memory settings and concurrent workload.

Free Space in Tempdb

  • Description: Free space inside tempdb files. It measures the remaining margin before temporary activity starts running short on usable space.
  • Panel type: stat
  • Units: Free space

Thresholds

ValueColorDescription
Up to 512 MBVery limited free space.
Between 512 MB and 1 GBAcceptable margin, but worth watching.
> 1 GBComfortable free space for usual workload.

Practical recommendation: If free space keeps dropping, review autogrowth, version store, temp tables, and large sort or hash operations.

Page Life Expectancy

  • Description: Average time in seconds that pages remain in memory before being evicted from the buffer pool. It is a direct indicator of cache stability.
  • Panel type: stat
  • Units: Seconds

Thresholds

ValueColorDescription
Up to 300 sStrong memory pressure.
Between 300 s and 1000 sImproving, but still sensitive.
> 1000 sReasonable cache retention.

Practical recommendation: If it drops sharply while physical reads or tempdb activity increase, review high-read queries, missing indexes, or insufficient memory.

Buffer Cache Hit Ratio

  • Description: Percentage of pages served from cache instead of disk. It reflects the immediate efficiency of the buffer pool.
  • Panel type: stat
  • Units: Percentage

Thresholds

ValueColorDescription
Up to 95 %Weak cache efficiency and more disk dependency.
Between 95 % and 98 %Fair ratio, but still improvable.
> 98 %Good memory usage efficiency.

Practical recommendation: Read this together with Page Life Expectancy; a high ratio with unstable PLE can still mean excessive page churn.

Backup/Restore Throughput

  • Description: Observed transfer speed during backup or restore operations. It helps estimate whether storage can keep up with backup and recovery workload.
  • Panel type: stat
  • Units: Bytes per second

Practical recommendation: If speed is low during active backup or restore windows, validate compression, parallelism, and source and target storage performance.

CPU Count

  • Description: Number of CPU cores SQL Server can use. It is a base reference for interpreting parallelism, workers, and overall capacity.
  • Panel type: stat
  • Units: Count

Practical recommendation: Use this value as a reference when reviewing MAXDOP, cost threshold for parallelism, and scheduler saturation under high CPU load.

Memory Grants Pending

  • Description: Number of requests waiting for workspace memory to execute sorts, hashes, or other memory-dependent operations.
  • Panel type: stat
  • Units: Count

Thresholds

ValueColorDescription
Between 0 and 1No queued memory grants.
Between 2 and 5Queries are waiting for memory.
> 5Clear execution-memory pressure.

Practical recommendation: If it stays above zero, review plans with sort or hash, outdated statistics, and large concurrent queries.

Active Temp Tables

  • Description: Number of active temporary tables at the observed moment. It helps detect workloads that rely heavily on temporary objects.
  • Panel type: stat
  • Units: Count

Thresholds

ValueColorDescription
Between 0 and 100Normal temporary-object usage.
> 100High temporary-table usage.

Practical recommendation: If it grows together with tempdb usage, identify processes or procedures creating many #temp tables or holding them for too long.

Version Store Size

  • Description: Size of the version store used by RCSI, Snapshot Isolation, and some online operations. High growth can pressure tempdb.
  • Panel type: stat
  • Units: Version-store space

Practical recommendation: If it keeps growing, review long transactions, long-running reads on readable replicas, and heavy write workloads.

Checkpoint pages/sec

  • Description: Number of dirty pages written to disk during checkpoints. It reflects write pressure and buffer pool flush activity.
  • Panel type: stat
  • Units: Pages per second

Practical recommendation: If it stays high together with disk latency, review checkpoint frequency, write intensity, and target recovery settings.

Page lookups/sec

  • Description: Requests per second to locate pages in the buffer pool. It is a useful indicator of logical read activity.
  • Panel type: stat
  • Units: Lookups per second

Practical recommendation: Treat this as a workload indicator; if it rises together with full scans and weaker cache metrics, review indexes and queries.

Average User Connections

  • Description: Average number of simultaneous user connections. It helps measure concurrency pressure and gives context to CPU or memory spikes.
  • Panel type: stat
  • Units: Connections

Thresholds

ValueColorDescription
Up to 25000Usual connection level.
> 25000Very high concurrency for the instance.

Practical recommendation: If the count grows more than expected, verify connection pooling, orphaned sessions, and application traffic spikes.

Databases Info

Aggregated database status and a compact view of total space and memory related to the instance.

Databases Health

  • Description: Aggregated indicator that summarizes whether any database is currently in a problematic or unavailable state.
  • Panel type: stat

Practical recommendation: If the panel is no longer healthy, move immediately to the individual state counters to identify the affected database.

ONLINE

  • Description: Number of databases available in ONLINE state. It is the baseline for normal operating volume.
  • Panel type: stat
  • Units: Count

Practical recommendation: Use this value as a baseline and compare it after maintenance, migrations, or incidents.

OFFLINE

  • Description: Number of databases that remain offline by administrative action or due to a pending issue.
  • Panel type: stat
  • Units: Count

Thresholds

ValueColorDescription
Between 0 and 1No OFFLINE databases.
> 1There are offline databases that need validation.

Practical recommendation: Confirm whether the state is intentional; if not, review files, permissions, and the error log before bringing the database online.

SUSPECT

  • Description: Number of databases marked as SUSPECT, usually related to corruption, I/O issues, or recovery failures.
  • Panel type: stat
  • Units: Count

Thresholds

ValueColorDescription
Between 0 and 1No SUSPECT databases.
> 1At least one database is at high risk.

Practical recommendation: Treat this as a priority state: review the error log, validate storage, and prepare DBCC CHECKDB or restore if needed.

RECOVERING

  • Description: Number of databases currently in recovery. It can be normal after restart, restore, or failover.
  • Panel type: stat
  • Units: Count

Practical recommendation: If the state lasts longer than expected, review recovery progress, available I/O, and possible file-level issues.

PENDING

  • Description: Number of databases that cannot complete startup because of missing resources or unavailable files.
  • Panel type: stat
  • Units: Count

Thresholds

ValueColorDescription
Between 0 and 1No PENDING databases.
> 1Some databases are blocked by missing resources or files.

Practical recommendation: Review free space, disk connectivity, and file path consistency before forcing any action on the affected database.

RESTORING

  • Description: Number of databases currently in restore phase and not yet available for normal use.
  • Panel type: stat
  • Units: Count

Thresholds

ValueColorDescription
Between 0 and 1No active restores.
> 1Restore activity is in progress.

Practical recommendation: If the value does not return to zero when expected, validate the backup chain, storage, and whether an additional RESTORE step is missing.

Total Data File Size

  • Description: Sum of the size of all data files in the instance. It gives a quick idea of total database storage footprint.
  • Panel type: stat
  • Units: Data space

Practical recommendation: Watch for sudden increases and confirm that data files are pre-sized to avoid frequent growth events.

Total Log Files Size

  • Description: Sum of the size of all log files. It helps detect whether reserved log space is consistent with overall instance activity.
  • Panel type: stat
  • Units: Log space

Practical recommendation: If the total grows a lot, review recovery model, log backup frequency, and long-running operations.

Total Log Files Used Size

  • Description: Logical space currently used inside log files. It helps distinguish allocated size from actual use.
  • Panel type: stat
  • Units: Used log space

Practical recommendation: If usage repeatedly approaches total size, review log truncation, backups, and long open transactions.

Memory Clerk Buffer Pool

  • Description: Memory size associated with the buffer pool, where SQL Server keeps data and index pages to accelerate reads.
  • Panel type: stat
  • Units: Memory

Practical recommendation: Compare this value with max memory and Page Life Expectancy to determine whether cache growth is healthy or under pressure.

Database size

Database-level size distribution and time tracking of total log usage.

Data File Size by Database

  • Description: Distribution of data file size by database. It quickly shows which databases consume most of the storage.
  • Panel type: piechart
  • Units: Data space

Practical recommendation: Review the largest databases and confirm that expected growth is documented and backed by storage capacity planning.

Log File Size by Database

  • Description: Distribution of log file size by database. It helps detect oversized logs or databases with unusual log requirements.
  • Panel type: piechart
  • Units: Log space

Practical recommendation: If one database clearly stands out, review log backup cadence, bulk operations, and autogrowth settings.

Total Log Files Used Size

  • Description: Time evolution of total used log space across the instance. It is useful to identify spikes, trends, and high transaction windows.
  • Panel type: timeseries
  • Units: Used log space

Practical recommendation: Correlate spikes with data loads, maintenance, or missing log truncation so the observed growth has a clear explanation.

Performance counters

Time series for engine activity, workers, cache, waits, memory, internal I/O, and transaction behavior.

CPU (beta)

  • Description: Compares CPU percentage consumed by the instance itself against the rest of the system processes. It helps separate SQL Server pressure from host-level pressure.
  • Panel type: timeseries
  • Units: Percentage

Practical recommendation: If total CPU is high but SQL Server is not leading the usage, investigate antivirus, backup agents, or other host services before tuning queries.

Workers

  • Description: Shows current and active workers, work queue, runnable tasks, and a reference line for maximum available workers.
  • Panel type: timeseries
  • Units: Count

Practical recommendation: If active workers approach the limit while work queue or runnable tasks grow, review parallelism, blocking, and concurrent query load.

User Connections

  • Description: Time evolution of user connections. It helps detect concurrency peaks and recurring hourly patterns.
  • Panel type: timeseries
  • Units: Connections

Practical recommendation: Use this chart to give context to CPU, memory, or blocking spikes; many issues match connection peaks.

Buffer Cache Hit Ratio

  • Description: Time evolution of cache hit percentage. It shows whether memory efficiency stays stable or drops in specific periods.
  • Panel type: timeseries
  • Units: Percentage

Practical recommendation: If the ratio drops during specific windows, review batch jobs, reporting windows, or heavy queries that flush useful pages from cache.

Page Life Expectancy

  • Description: Time evolution of how long pages remain in memory. It is useful to detect short-lived dips or long-term deterioration of the buffer pool.
  • Panel type: timeseries
  • Units: Seconds

Practical recommendation: Do not focus only on the last point; a sustained downward trend is often more important than a single temporary dip.

SQL Stats

  • Description: Groups Batch Requests, compilations, recompilations, logins, logouts, and blocked processes to summarize SQL engine workload.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: If SQL Compilations/sec grows too much relative to Batch Requests/sec, review parameterization, plan reuse, and statistics.

Access Methods

  • Description: Measures how SQL Server accesses data through index searches, scans, page splits, and creation of workfiles or worktables.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: If Full Scans/sec or Page Splits/sec dominate, review indexes, fill factor, and queries that do not filter efficiently.

Replica/Mirroring Statistics

  • Description: Series of replica traffic and log activity metrics used to observe send, receive, and redo behavior.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: If send and receive rates stop matching, review network latency, redo backlog, and general availability group health.

Buffer Manager

  • Description: Brings together reads, writes, readahead, lazy writes, checkpoint pages, free list stalls, and other buffer manager counters.
  • Panel type: timeseries
  • Units: Buffer pool activity

Practical recommendation: Correlate increases in Page reads/sec or Free list stalls/sec with PLE drops to confirm real pressure on memory and disk.

Wait Stats

  • Description: Shows accumulated wait time for several relevant wait types. It helps identify which resource family is limiting performance.
  • Panel type: timeseries
  • Units: Milliseconds

Practical recommendation: Focus the investigation on the dominant wait and its context; not every high wait is a problem by itself.

TempDB Wait Stats

  • Description: Evolution of the value associated with TempDB PageLatch, useful for detecting internal contention in tempdb.
  • Panel type: timeseries

Thresholds

ValueColorDescription
Between 0 and 5There is noticeable tempdb contention.
> 5Contention is high enough to require correction.

Practical recommendation: If this grows repeatedly, review the number and size of tempdb files, temp table usage, and heavy concurrent operations.

Log Flushes/sec

  • Description: Number of log writes per second. It reflects how often transactions are forcing changes to durable storage.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: If flushes are high together with log latency, review log storage, transaction size, and application commit patterns.

Databases Activity

  • Description: Combines transactions, writes, deadlocks, errors, and lock-related waits to summarize database-level activity and concurrency.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: If Lock Waits, Lock Timeouts, or Deadlocks grow, analyze access order, indexes, and transaction duration.

Transaction Delay

  • Description: Average wait time to execute transactions. It is a good indicator of internal friction before useful work is completed.
  • Panel type: timeseries
  • Units: Milliseconds

Practical recommendation: If delay rises, review blocking, I/O pressure, and queries with large grants or high waits.

Requests completed/sec

  • Description: Number of requests completed per second. It measures the effective work rate of the engine.
  • Panel type: timeseries
  • Units: Requests per second

Practical recommendation: Read this together with CPU and waits; lower throughput under the same user load usually points to internal degradation.

Free Space in Tempdb

  • Description: Time evolution of free space in tempdb. It helps determine whether pressure is temporary or sustained.
  • Panel type: timeseries
  • Units: Free space

Practical recommendation: If the trend keeps falling for hours, act before available margin is exhausted and space errors appear.

User Connections

  • Description: Second time-based view of user connections, useful to observe session volume evolution in more detail.
  • Panel type: timeseries
  • Units: Connections

Practical recommendation: Compare this pattern with business windows and alerts to tell expected load from unusual behavior.

Memory Clerk Buffer Pool

  • Description: Time evolution of memory occupied by the buffer pool. It shows how the main cache grows or shrinks over time.
  • Panel type: timeseries
  • Units: Memory

Practical recommendation: If the buffer pool does not grow despite workload and available RAM, review memory configuration and external host pressure.

Memory Clerks Sizes

  • Description: Time evolution of SQL Server memory clerks. It is useful to spot which components accumulate memory over time.
  • Panel type: timeseries
  • Units: Memory

Practical recommendation: If one clerk grows disproportionately, validate it against sys.dm_os_memory_clerks to identify the real consumer.

Buffer Pool By Database

  • Description: Shows which databases occupy the most buffer pool over time and how their relative weight changes.
  • Panel type: timeseries
  • Units: Memory

Practical recommendation: If one database monopolizes cache, confirm whether it matches expected workload or inefficient queries evicting other pages.

Errors/sec

  • Description: Time-based SQL Server error counter. It helps show whether incidents are isolated or sustained.
  • Panel type: timeseries
  • Units: Errors per second

Practical recommendation: Correlate spikes with deployments, jobs, maintenance, or network changes to reach the root cause faster.

Memory break down

View of memory consumption broken down by instance or category returned by the data source.

Used memory by Instance

  • Description: Time series of memory usage by instance or reported memory group. It helps distinguish how consumption is distributed over time.
  • Panel type: timeseries
  • Units: Memory

Practical recommendation: Look for abnormal growth and match it with workload changes, plan cache behavior, or complex query activity.

Database Size & I/O

Tracking of database size together with read and write activity on data and log files.

Data File Size by Database

  • Description: Time evolution of data file size by database. It helps detect steady growth or abrupt jumps.
  • Panel type: timeseries
  • Units: Data space

Practical recommendation: If one database grows above its normal pattern, review pending purges, index growth, history retention, or bulk loads.

Log File Size by Database

  • Description: Time evolution of log file size by database. It is useful to confirm whether log growth is controlled.
  • Panel type: timeseries
  • Units: Log space

Practical recommendation: If a log only grows and does not stabilize, review log backup strategy, open transactions, and maintenance jobs.

IO/sec

  • Description: Groups reads, writes, and throttled I/O operations per second. It gives a quick picture of storage pressure.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: If throttled operations increase, confirm whether storage is applying throttling or workload exceeded expected capacity.

DATA | Read Throughput

  • Description: Read transfer rate on data files by database. It shows which databases consume the most read bandwidth.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: Repeated peaks in one database usually justify reviewing indexes, cache behavior, and query patterns.

LOG | Read Throughput

  • Description: Read transfer rate on log files. Its activity is usually low compared with data-file reads.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: If log reads are unusually high, validate restores, replicas, auditing, or processes that rely heavily on the log.

DATA | Write Throughput

  • Description: Write transfer rate on data files by database. It helps detect databases with high modification activity.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: If one database concentrates most writes, confirm whether it matches ETL, bulk load, or index maintenance activity.

LOG | Write Throughput

  • Description: Write transfer rate on log files by database. It directly reflects transactional activity that must be persisted.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: If this rises without matching data-file throughput, review highly transactional operations or overly frequent commits.

Database Latency

Read and write latency split between data files and log files so storage bottlenecks can be isolated precisely.

DATA | Read Latency (ms)

  • Description: Read time in milliseconds on data files by database. It is a direct storage-health signal for read operations.
  • Panel type: timeseries
  • Units: Milliseconds

Practical recommendation: If latency stays high, compare it with throughput and physical reads to decide whether cache is insufficient or disks are underperforming.

LOG | Read Latency (ms)

  • Description: Read time in milliseconds on log files. It is usually low and stable except in specific scenarios.
  • Panel type: timeseries
  • Units: Milliseconds

Practical recommendation: Sustained increases can point to saturated shared storage or heavy recovery and replica activity.

DATA | Write Latency (ms)

  • Description: Write time in milliseconds on data files. It affects modification-heavy workloads and maintenance operations.
  • Panel type: timeseries
  • Units: Milliseconds

Practical recommendation: If write latency rises together with checkpoints or page writes, review performance of the data volume.

LOG | Write Latency (ms)

  • Description: Write time in milliseconds on log files. It is critical for transaction commit time.
  • Panel type: timeseries
  • Units: Milliseconds

Practical recommendation: If this latency is high, prioritize investigation of log storage because it directly affects transaction commits.

Availability Replica

Panels focused on replica traffic, send and receive rate, and synchronization lag against the primary node.

OUT | Bytes Sent to Replica/sec

  • Description: Rate of bytes sent to replicas per second. It measures outgoing traffic generated by the primary replica.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: If send load grows sharply, watch bandwidth, network compression, and latency between nodes.

IN | Bytes Received from Replica/sec

  • Description: Rate of bytes received from replicas per second. It helps validate incoming flow in the availability group context.
  • Panel type: timeseries
  • Units: Bytes per second

Practical recommendation: Compare this panel with the send panel to detect prolonged asymmetry that may anticipate queues or sync lag.

Sends to Replica/sec

  • Description: Number of send operations to replicas per second. It complements throughput by showing frequency, not only volume.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: If there are many small send operations, review transaction pattern and network overhead between nodes.

Receives from Replica/sec

  • Description: Number of receive operations from replicas per second. It helps explain the rhythm of exchange between nodes.
  • Panel type: timeseries
  • Units: Operations per second

Practical recommendation: Very irregular receive behavior can reveal intermittent connectivity problems or environment saturation.

Data to Sync(Check in Primary node)

  • Description: Volume of data still pending synchronization as seen from the primary node. It is useful to detect accumulated lag on secondary replicas.
  • Panel type: timeseries
  • Units: Pending data

Practical recommendation: If the pending queue grows and does not come back down, review transport, redo rate, and secondary replica capacity.

Lag Time Synchronization (Check in Primary node)

  • Description: Synchronization lag time between the primary node and replicas. It shows whether delay is temporary or persistent.
  • Panel type: timeseries
  • Units: Seconds

Practical recommendation: If lag keeps increasing, review network latency, log generation rate, and replica health before it impacts RPO or secondary reads.