An Azure relational database service.
Hi Sourabh Patil,
Thank you for your feedback. Please find below the responses to your additional questions, which I hope will help address your concerns.
After verifying your connection (EngineEdition = 8) and checking msdb.dbo.backupset and msdb.dbo.backupmediafamily, your observation is correct — this is expected behavior in Azure SQL Managed Instance (MI) due to how backups are handled at the PaaS level.
1. Why backup size isn’t shown in MSDB tables
In MI, backup metadata is available through msdb, but it doesn’t fully match on‑prem SQL Server. The per‑database physical backup size isn’t exposed because backups are managed by the platform.
Microsoft confirmed in your Q&A thread: Queries that work in SQL Server (on‑prem or VM) don’t apply to Azure SQL MI for per‑database backup size.
Backup history metadata exists but doesn’t include per‑database data relevant to billing or capacity planning. In short, you can view backup events, timestamps, and compression info — but not the actual per‑database backup size, since these backups live in Microsoft‑managed blob storage.
2. Why Azure SQL MI doesn’t show backup size per database
Azure SQL MI uses automated full, differential, and log backups stored in encrypted, geo‑redundant storage — all managed by the platform rather than the SQL Server engine.
Official documentation: [Backup storage model | techcommunity.microsoft.com]
Because backups span multiple layers (compute, storage, PITR chain), backup consumption is only tracked at the instance level.
3. Microsoft‑supported way to analyze cost and storage
Microsoft recommends using Azure Cost Management for any billing or backup size visibility:
Billing reflects total instance‑level backup storage (PITR), not the sum of individual database backups.
4. Can we view backup size per database?
No. Azure SQL MI doesn’t expose per‑database backup size. Even though msdb shows backup history, size info tied to billing is hidden because backups are platform‑managed.
You can query:
- Backup timings, type, and compression ratio
- Backup activity with XEvents [learn.microsoft.com]
You cannot query actual storage size or file location.
5. Why this design is intentional
- Platform abstraction: Backup creation, retention, and encryption are handled by Azure for consistency and reliability.
- Shared storage model: Backups use deduplication, compression, and pooling, so per‑database sizing isn’t straightforward.
- Cost logic: Billing aligns with total PITR storage for the instance, not per‑DB usage.
- Accuracy: Per‑database reporting could mislead capacity planning due to variable backup patterns.
6. Recommended guidance
To plan or review backup usage and cost:
- Use Azure Cost Management → Cost Analysis
- Filter by:
- Service Name: _SQL Managed Instance_ - Meter: _Backup Storage (PITR/LTR)_ __[[FAQ | learn.microsoft.com]](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/frequently-asked-questions-faq?view=azuresql)__ 1. Review patterns using msdb or XEvents — check frequency, compression, and duration. __[[learn.microsoft.com]](https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/backup-activity-monitor?view=azuresql)__ ```1. Tune retention to manage cost — longer retention increases storage use. __[[ADO Wiki | Supportability]](https://supportability.visualstudio.com/AzureSQLMI/_wiki/wikis/AzureSQLMI/2298344)__
- Filter by: