Improve the health and performance monitoring of your Microsoft SQL Servers.
Microsoft SQL Server database monitoring is based on a local monitoring approach implemented as a Dynatrace OneAgent extension. The extension uses WMI queries to collect key performance and health metrics from the SQL Server instance running on the host, extending your visibility.
Supported versions of SQL Server:
Any version of SQL Server with active extended support by Microsoft is supported by this extension. Please refer to the official Microsoft documentation about lifecycle dates for SQL Server.
Supported types of SQL Server:
Warnings:
When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.
In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.
All metrics that aren't categorized into any feature set are considered to be the default and are always reported.
A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.
| Metric name | Metric key | Description |
|---|---|---|
| Latch waits | sql-server.local.latches.waits.count | Number of latch requests that could not be granted immediately |
| Metric name | Metric key | Description |
|---|---|---|
| Lock waits | sql-server.local.locks.waits.count | Number of lock requests that required the caller to wait |
| Deadlocks | sql-server.local.locks.deadlocks.count | Number of lock requests that resulted in a deadlock |
| Metric name | Metric key | Description |
|---|---|---|
| Buffer cache hit | sql-server.local.buffers.cacheHitRatio | Percentage of pages found in the buffer cache without having to read from disk |
| Checkpoint pages | sql-server.local.buffers.checkpointPages.count | Number of pages flushed to disk by a checkpoint or other operations that require all dirty pages to be flushed |
| Page life expectancy | sql-server.local.buffers.pageLifeExpectancy | Number of seconds a page will stay in the buffer pool without references |
| Metric name | Metric key | Description |
|---|---|---|
| Batch requests | sql-server.local.sql.batchRequests.count | Number of Transact-SQL command batches received |
| SQL compilations | sql-server.local.sql.compilations.count | Number of SQL statement compilations |
| SQL re-compilations | sql-server.local.sql.recompilations.count | Number of SQL statement re-compilations |
| Metric name | Metric key | Description |
|---|---|---|
| Processes blocked | sql-server.local.general.processesBlocked | Number of currently blocked processes |
| Transactions | sql-server.local.general.transactions | Number of transaction enlistments (local, dtc, and bound) |
| User connections | sql-server.local.general.userConnections | Number of users currently connected to SQL Server |
| Metric name | Metric key | Description |
|---|---|---|
| Page splits | sql-server.local.accessMethods.pageSplits.count | Number of page splits that occur as a result of overflowing index pages |
| Metric name | Metric key | Description |
|---|---|---|
| Connection memory | sql-server.local.memory.connection | Total amount of dynamic memory the server is using for maintaining connections |
| Memory grants outstanding | sql-server.local.memory.grantsOutstanding | Number of processes that have successfully acquired a workspace memory grant |
| Memory grants pending | sql-server.local.memory.grantsPending | Number of processes waiting for a workspace memory grant |
| Target server memory | sql-server.local.memory.target | Amount of memory that can be consumed by memory manager |
| Total server memory | sql-server.local.memory.total | Amount of memory the server has committed using the memory manager |