An Azure relational database service.
Hi @Swaroop Gowda D
In addition to the information already shared, here are a few recommendations that may help with ongoing monitoring and troubleshooting.
For TempDB, it's a good practice to monitor usage trends rather than checking only when an issue occurs. You can periodically query sys.dm_db_file_space_usage and sys.dm_db_session_space_usage to identify workloads or sessions that are consistently consuming large amounts of TempDB. If you notice frequent growth or high usage, reviewing execution plans for operations such as sorts, hash joins, hash aggregates, index rebuilds, or spills to TempDB may help identify opportunities for query or index optimization. If your workload uses snapshot isolation or Read Committed Snapshot Isolation (RCSI), it's also worth monitoring the version store, as long-running transactions can delay cleanup and increase TempDB usage.
For IOPS monitoring, Azure SQL Managed Instance does not expose a direct metric showing the current IOPS consumed versus the provisioned limit. Microsoft generally recommends monitoring Data IO percentage and Log IO percentage in Azure Monitor, together with SQL Server DMVs such as sys.dm_io_virtual_file_stats, to understand storage activity. If you observe consistently high Data IO or Log IO percentages, along with increasing I/O-related wait types such as PAGEIOLATCH_*, WRITELOG, or IO_COMPLETION, it may indicate that the workload is approaching the available storage throughput.
If you're troubleshooting a performance issue, collecting Azure Monitor metrics (Data IO %, Log IO %, CPU, and Storage), along with outputs from sys.dm_io_virtual_file_stats, wait statistics (sys.dm_os_wait_stats), and the top resource-consuming queries from Query Store, can provide a comprehensive view of whether storage I/O is the bottleneck or if query optimization is needed.