Your on-call phone rings at 2 AM. Application timeouts are climbing and someone is already asking for updates in the incident channel. You open one dashboard. Then another. Then a cloud portal. Then the legacy monitoring tool nobody wanted to retire. Forty minutes later you are still figuring out which SQL Server instance is actually responsible. Meanwhile, the LCK_M_S wait chain has quietly been building for an hour. Let us talk about SQL Server Monitoring Across Cloud, Hybrid, and On-Prem. This is not a tooling problem. Most teams have tools. It is a visibility problem. And it becomes painfully obvious in mixed environments.
Why Fragmented Environments Break Monitoring
Modern SQL Server estates rarely live in one place. A typical mid-size organization might run on-premises instances for core transactional workloads, Azure SQL Database for SaaS-connected applications, Azure SQL Managed Instance for lift-and-shift migrations that needed full CLR or cross-database queries, and Amazon RDS for SQL Server where a team made an early AWS commitment. Each platform exposes performance data differently.
The table below captures the key differences across DMV access, Extended Events, operating system visibility, and authentication. These gaps are not cosmetic. They determine what a monitoring tool can and cannot see, and whether the numbers it reports are conceptually comparable across environments.
| Platform |
DMV Access |
Extended Events |
OS / Host Metrics |
Auth Method |
| On-Premises SQL Server |
Full access, all system DMVs |
Full access, system_health and custom sessions |
Full access, WMI, PerfMon, disk |
Windows Auth / SQL Auth |
| Azure SQL Managed Instance |
Near-full, instance-level DMVs available |
Full, instance-level sessions supported |
Partial, OS abstracted with limited PerfMon |
SQL Auth + Entra ID |
| Azure SQL Database |
Database scope only, no instance DMVs |
Database-scoped only, no system_health |
None, fully managed with no host access |
SQL Auth + Entra ID |
| Amazon RDS for SQL Server |
Partial, instance DMVs available but not all |
Supported with limited session config |
None, no WMI or OS-level access |
SQL Auth + IAM (limited) |
| SQL Server on GCP Compute Engine |
Full, self-managed VM |
Full, self-managed VM |
Full, VM OS access available |
Windows Auth / SQL Auth (VM-dependent) |
Table 1: SQL Server monitoring surface area by deployment platform
A monitoring tool that ignores these differences will either surface empty panels or compare metrics that are not conceptually equivalent across tiers. Both outcomes lead to wrong conclusions during an incident.
What Unified Monitoring Actually Requires
A single dashboard sounds impressive during a product demo. In production, it solves very little on its own. What matters is whether the numbers actually mean the same thing everywhere. If wait stats on Azure behave differently from wait stats on-premises, or if replication lag on one platform is not comparable to its cloud equivalent, then you are not monitoring. You are just staring at graphs.
The real requirement is normalization. Wait statistics remain the most reliable cross-environment diagnostic signal. CXPACKET accumulation can indicate parallelism skew or an overly aggressive MAXDOP setting, though it should always be read alongside workload context rather than treated as an automatic misconfiguration flag. CXCONSUMER, separated from CXPACKET in SQL Server 2017 CU3, typically represents normal consumer-side parallel exchange waits and is not itself a tuning signal. PAGEIOLATCH_SH and PAGEIOLATCH_EX waits indicate buffer pool pressure or storage latency. LCK_M waits tell you that a session is blocked on a row, page, or object lock held by another transaction. These categories behave consistently whether you are looking at an on-premises instance or Azure SQL, though the collection mechanism differs.
Query Store data is the other universal anchor. Introduced in SQL Server 2016 and enabled by default in Azure SQL, Query Store persists execution statistics and plan history in the user database itself. A monitoring layer that exposes top queries by CPU, logical reads, or total elapsed time, and that surfaces plan regressions alongside forced plan status, gives DBAs something to act on rather than a CPU utilization graph that only tells them something is slow.
Deadlock Visibility Requires Platform-Aware Capture
Deadlock capture is one of the clearest examples of how platform differences break naive monitoring assumptions. The mechanism differs significantly depending on where SQL Server is running, which means a monitoring tool must handle multiple capture paths and normalize the output into a consistent view.

On on-premises instances and Azure SQL Managed Instance, the xml_deadlock_report event fired through Extended Events is the correct and recommended mechanism, typically captured by the system_health session into a ring buffer or file target. On Azure SQL Database, there is no instance-level Extended Events session. Deadlock information is accessible through Extended Events configured at the database scope, through sys.event_log, or through Intelligent Insights depending on the service tier. On Amazon RDS for SQL Server, deadlocks can be captured through custom Extended Events sessions or the RDS event log.
Tools like Idera SQL Diagnostic Manager that normalize deadlock graph presentation across these different capture paths, rather than requiring DBAs to manually decode raw XML from each source, meaningfully shorten diagnosis time by surfacing a consistent view regardless of where the deadlock originated.
The Hybrid-Specific Technical Problems
If you run entirely on-premises, you develop one set of operational instincts. If you run entirely in the cloud, you develop another. Hybrid environments force you to juggle both at the same time. That is where subtle problems appear, and they rarely show up during calm business hours.
Three issues tend to surface repeatedly in hybrid SQL estates.
Metric Normalization
I/O latency on-premises reflects physical or SAN-backed storage, measured directly via sys.dm_io_virtual_file_stats against local disks. The same DMV on Azure SQL reflects a distributed storage backend shared across tenants, with different latency characteristics and a different ceiling for what is considered normal. Treating these numbers as directly comparable produces wrong conclusions.
Authentication Boundary Management
On-premises instances use Kerberos or NTLM through Windows authentication, or SQL authentication. Azure SQL uses Microsoft Entra ID, formerly Azure AD, in addition to SQL authentication. A monitoring tool connecting across both must handle token-based authentication for cloud endpoints without storing credentials insecurely, which quickly becomes a credential management problem at scale.
Collection Architecture Under WAN Conditions
Monitoring agents positioned on-premises and polling cloud-hosted instances introduce round-trip latency into collection cycles. For hourly trend data, this is acceptable. For real-time blocking detection with sub-minute collection intervals, WAN latency can create collection gaps that make alert timing unreliable. Agentless architectures, the approach taken by Idera SQL Diagnostic Manager, reduce some of this friction by avoiding the need to install and maintain collection software on cloud-managed hosts where that option may not exist at all.
Where Idera SQL Diagnostic Manager Fits
Idera SQL Diagnostic Manager is built for teams that have moved beyond the single-platform comfort zone. It brings on-premises SQL Server, Azure SQL Database, Azure SQL Managed Instance, Amazon RDS for SQL Server, and SQL Server on GCP Compute Engine into one operational view, with normalized wait statistics, deadlock graphs, Query Store insights, blocking analysis, and index health.
Dynamic baselines matter here because fixed thresholds across mixed platforms create noise very quickly. When everything looks critical, nothing actually is.
For organizations where the 2 AM incident scenario is not hypothetical but routine, evaluating a unified monitoring approach is less about convenience and more about reducing operational friction.
Reference: Pinal Dave (https://blog.sqlauthority.com/), X
First appeared on SQL Server Monitoring Across Cloud, Hybrid, and On-Prem