Microsoft Azure Data FundamentalsDescribe how to work with relational data on AzureMedium
A company is migrating an existing on-premises SQL Server database to Azure. The database has complex stored procedures, functions, and triggers that rely heavily on SQL Server-specific features. The company requires full compatibility with their existing SQL Server code and minimal application refactoring. Which Azure relational data service is the most suitable choice?
- AAzure SQL Database (PaaS)
- BAzure SQL Database Hyperscale
- CAzure SQL Managed Instance
- DAzure Database for PostgreSQL
Show answer & explanationAnswer & explanation
Correct answer: C. Azure SQL Managed Instance
Azure SQL Managed Instance offers near 100% compatibility with the latest SQL Server (on-premises) database engine, making it ideal for migrating existing SQL Server applications with minimal changes. It provides a fully managed service with extensive SQL Server feature support.
Why the other options are wrong
- A. Azure SQL Database (PaaS) offers high compatibility but might require some code changes for highly SQL Server-specific features, making it less ideal for 'minimal application refactoring'.
- B. Azure SQL Database Hyperscale is a deployment option for Azure SQL Database, offering extreme scalability, but it shares the same compatibility characteristics as standard Azure SQL Database, not full SQL Server compatibility.
- D. Azure Database for PostgreSQL is a service for PostgreSQL databases and would require significant refactoring for a SQL Server application.
Azure SQL Managed Instance
A fully managed cloud database service that provides near 100% compatibility with the latest SQL Server (on-premises) database engine, suitable for lift-and-shift migrations.
- Near 100% SQL Server compatibility.
- Instance-scoped features (SQL Agent, cross-DB queries).
- Fully managed PaaS service.
- Suitable for lift-and-shift migrations.
Memory trick: Managed Instance is the closest match for SQL Server.