SQL

SQL Estate Analyzer

Azure target sizing & cost modelling for SQL Server estates

Drop your SQL estate inventory here

The CSV produced by the discovery script

1

Sweep the estate

Run Invoke-SqlEstateDiscovery.ps1 once. It finds your SQL Servers from their Active Directory SPNs, a Central Management Server or your own list, queries them in parallel, and writes a single merged CSV. Read-only — no schema, data or query text, only versions, sizes and feature flags.

2

Upload the CSV

Drop the merged file above. Just one instance, or no PowerShell? Run SqlEstateDiscovery.sql in SSMS, save the grid as CSV, and upload as many of those as you like together.

3

Review the options

Every database is scored Ready, Needs review or Not ready against each Azure target — the same categories the Azure portal and SSMS assessments use — with the finding behind every one, plus costs across PAYG, reserved and Hybrid Benefit scenarios.

Everything here comes from the discovery script. The inventory is entirely machine-generated — there are no columns for anyone to fill in, and nothing is inferred from a label a human typed. Judgement calls that SQL Server cannot answer for itself, such as whether the estate is under Software Assurance, live on the Assumptions tab where they are visible and adjustable rather than buried in a spreadsheet.
Built for large estates. The sweep reads catalog views and DMVs only — no trace, no user data, nothing that blocks — so it is safe to run during business hours. Budget about a second per instance plus a few milliseconds per database: a thousand databases is minutes, not hours. This is triage rather than a final compatibility ruling; once you have chosen the databases to move, confirm them with the readiness assessment built into SSMS.