What “near 100% compatibility” of Azure SQL DB Managed Instance actually means?

Azure SQL Database Managed Instance (Azure SQL DB MI) is a fully managed SQL Server Database Engine Instance hosted in Azure cloud. This is the most compatible PaaS option for migrating on-premises SQL Server databases to the cloud (PaaS is good if you want to use capabilities like automatic patching and version updates, automated backups, built-in high-availability etc. to reduce management overhead and TCO).

So, what “near 100% compatibility of Azure SQL DB MI with the latest SQL Server on-premises (Enterprise Edition) Database Engine” actually means?

First, components of SQL Server which are not related to the Database Engine are not available in Azure SQL DB MI. Reporting Services, Integration Services, Analysis Services, Master Data Services, Data Quality Services are not there.

Second, some of the features of SQL Server EE needed for enterprise database workloads, are still not available in Azure SQL DB MI, probably due to complexity considerations, not enough requests/impact, or due to availability of similar or better capabilities in Azure.

Feature comparison of SQL Server and Azure SQL DB MI can be found in the official documentation.

Below is a graphical representation of most important differences between SQL Server, Azure SQL DB MI and some other PaaS offerings in Azure.

On the picture features on the borders are partially compatible.