| title | Monitor Azure SQL Managed Instance | |
|---|---|---|
| description | Start here to learn how to monitor Azure SQL Managed Instance. | |
| author | MashaMSFT | |
| ms.author | mathoma | |
| ms.reviewer | wiassaf | |
| ms.date | 08/27/2025 | |
| ms.service | azure-sql-managed-instance | |
| ms.subservice | monitoring | |
| ms.topic | concept-article | |
| ms.custom |
|
[!INCLUDE appliesto-sqlmi]
Learn how to monitor Azure SQL Managed Instance.
[!INCLUDE horz-monitor-intro]
In addition to the features in this article, the SQL Database Engine has its own monitoring and diagnostic capabilities that Azure SQL Managed Instance uses, such as Query Store and dynamic management views (DMVs). For more information, see the following articles:
- Monitor performance by using the Query Store
- Monitor Azure SQL Managed Instance performance using dynamic management views
For a detailed discussion of all monitoring and performance aspects of Azure SQL Managed Instance, see Monitor and performance tuning in Azure SQL Database and Azure SQL Managed Instance. [!INCLUDE horz-monitor-insights]
Database watcher collects in-depth workload monitoring data to give you a detailed view of database performance, configuration, and health. Dashboards in the Azure portal provide a single-pane-of-glass view of your Azure SQL estate and a detailed view of each monitored resource. Data is collected into a central data store in your Azure subscription. You can query, analyze, export, visualize collected data, and integrate it with downstream systems.
For more information about database watcher, see the following articles:
- Monitor Azure SQL workloads with database watcher (preview)
- Quickstart: Create a database watcher to monitor Azure SQL (preview)
- Create and configure a database watcher (preview)
- Database watcher data collection and datasets (preview)
- Analyze database watcher monitoring data (preview)
- Database watcher FAQ
[!INCLUDE horz-monitor-resource-types]
For more information about the resource types for SQL Managed Instance, see SQL Managed Instance monitoring data reference.
[!INCLUDE horz-monitor-data-storage]
[!INCLUDE horz-monitor-platform-metrics]
For a list of available metrics for SQL Managed Instance, see SQL Managed Instance monitoring data reference.
[!INCLUDE horz-monitor-resource-logs]
Auditing for Azure SQL Managed Instance tracks database events and writes them to an audit log in your Azure storage account. For more information, see Get started with SQL Managed Instance auditing. For more information on the resource logs and diagnostics available for Azure SQL Managed Instance, see Configure streaming export of diagnostic telemetry.
For the available resource log categories, their associated Log Analytics tables, and the log schemas for SQL Managed Instance, see SQL Managed Instance monitoring data reference.
[!INCLUDE horz-monitor-activity-log]
[!INCLUDE horz-monitor-analyze-data]
[!INCLUDE horz-monitor-external-tools]
[!INCLUDE horz-monitor-kusto-queries]
Use the following sample queries to help you monitor your Azure SQL Managed Instance.
Example A: Display all managed instances with avg_cpu utilization over 95%.
let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by _ResourceId
| where avg_cpu > cpu_percentage_thresholdExample B: Display all managed instances with storage utilization over 90%, dividing storage_space_used_mb_s by reserved_storage_mb_s.
let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
by _ResourceId
| where calculated_storage_percentage > storage_percentage_threshold[!INCLUDE horz-monitor-alerts]
[!INCLUDE horz-monitor-insights-alerts]
The following table lists common and recommended alert rules for Azure SQL Managed Instance. You might see different options available depending on your purchasing model.
| Signal name | Operator | Aggregation type | Threshold value | Description |
|---|---|---|---|---|
Average CPU percentage |
Greater than | Average | 80 | Whenever the average CPU utilization percentage is greater than 80% |
Resource Health |
Current Resource Status | NA | Degraded or Unavailable | Detect resources outages, whether they be Azure initiated or user initiated |
[!INCLUDE horz-monitor-advisor-recommendations]