Microsoft Azure Data FundamentalsDescribe how to work with relational data on AzureHard
A company is migrating an on-premises SQL Server database to Azure. The database contains several features, including SQL Server Agent jobs, cross-database queries, and Distributed Transaction Coordinator (DTC). The company needs a fully managed service that minimizes refactoring efforts while providing nearly 100% compatibility with their existing SQL Server environment. Which Azure relational data service should they choose?
- AAzure Database for MySQL
- BAzure SQL Database Managed Instance
- CSQL Server on Azure Virtual Machines
- DAzure SQL Database
Show answer & explanationAnswer & explanation
Correct answer: B. Azure SQL Database Managed Instance
Azure SQL Database Managed Instance offers near 100% compatibility with the latest SQL Server (Enterprise Edition) database engine. It supports features like SQL Server Agent, cross-database queries, and DTC, which are not available in Azure SQL Database (PaaS) but are crucial for minimizing refactoring efforts during migration from an on-premises SQL Server.
Why the other options are wrong
- A. Azure Database for MySQL is for MySQL databases, not SQL Server, and is incompatible with the mentioned features.
- C. SQL Server on Azure Virtual Machines (IaaS) offers 100% compatibility but is not a 'fully managed service' as it requires managing the OS and SQL Server directly.
- D. Azure SQL Database (PaaS) does not support many SQL Server Agent features, cross-database queries, or DTC, requiring significant refactoring.
Azure SQL DB Managed Instance
A fully managed cloud database service that provides near 100% compatibility with the latest SQL Server database engine, suitable for lift-and-shift migrations.
- Near 100% SQL Server compatibility
- Supports SQL Server Agent, cross-database queries, DTC
- Fully managed PaaS service
- Isolated virtual network environment
Memory trick: Migrate SQL: Managed Instance for compatibility, PaaS for simplicity, VM for control.