Skip to content

Commit 9e0b205

Browse files
Merge pull request #32405 from rwestMSFT/rw-1114-fix-version
Adjust source version support for SQL MI migration
2 parents 585b7f5 + 35ed5da commit 9e0b205

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

data-migration/sql-server/managed-instance/overview.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: "SQL Server to SQL Managed Instance: Migration overview"
2+
title: "SQL Server to SQL Managed Instance: Migration Overview"
33
description: Learn about the tools and options available to migrate your SQL Server databases to Azure SQL Managed Instance.
44
author: rwestMSFT
55
ms.author: randolphwest
66
ms.reviewer: mathoma, danil
7-
ms.date: 06/26/2024
7+
ms.date: 11/14/2024
88
ms.service: azure-sql-managed-instance
99
ms.subservice: migration-guide
1010
ms.topic: how-to
@@ -110,19 +110,19 @@ The following table compares the recommended migration options:
110110

111111
| Migration option | When to use | Considerations |
112112
| --- | --- | --- |
113-
| [Link feature for Azure SQL Managed Instance](/azure/azure-sql/managed-instance/managed-instance-link-feature-overview) | - Minimum downtime required, especially for critical workloads.<br />- Need to migrate to the Business Critical service tier.<br />- Need to migrate multiple databases.<br />- Need read-only access to the database on Azure SQL Managed Instance during the migration.<br />- Need to reverse migrate out of Azure to SQL Server 2022.<br />- Migrate individual line-of-business application databases, or multiple databases to the same or multiple SQL managed instances.<br />- Need flexibility for the cut over time frame.<br /><br />Supported sources:<br />- SQL Server (2016 to 2022) on-premises or Azure VM<br />- Amazon EC2<br />- GCP Compute SQL Server VM | - The migration entails establishing a network connection between SQL Server and SQL Managed Instance, and opening communication ports.<br />- Uses [Always On distributed availability group](/sql/database-engine/availability-groups/windows/distributed-availability-groups) technology to replicate database near real-time, making an exact replica of the SQL Server database on SQL Managed Instance.<br />- The database can be used for read-only access on SQL Managed Instance while the migration is in progress.<br />- Provides the best performance during migration with the most minimum downtime.<br />- Can cut over at any time, so migration duration is unlimited<br />- Not impacted by system updates or failovers |
113+
| [Link feature for Azure SQL Managed Instance](/azure/azure-sql/managed-instance/managed-instance-link-feature-overview) | - Minimum downtime required, especially for critical workloads.<br />- Need to migrate to the Business Critical service tier.<br />- Need to migrate multiple databases.<br />- Need read-only access to the database on Azure SQL Managed Instance during the migration.<br />- Need to reverse migrate out of Azure to SQL Server 2022.<br />- Migrate individual line-of-business application databases, or multiple databases to the same or multiple SQL managed instances.<br />- Need flexibility for the cut over time frame.<br /><br />Supported sources:<br />- SQL Server (2016 to 2022) on-premises or Azure VM<br />- Amazon EC2<br />- GCP Compute SQL Server VM | - The migration entails establishing a network connection between SQL Server and SQL Managed Instance, and opening communication ports.<br />- Uses [distributed availability groups](/sql/database-engine/availability-groups/windows/distributed-availability-groups) technology to replicate database near real-time, making an exact replica of the SQL Server database on SQL Managed Instance.<br />- The database can be used for read-only access on SQL Managed Instance while the migration is in progress.<br />- Provides the best performance during migration with the most minimum downtime.<br />- Can cut over at any time, so migration duration is unlimited<br />- Not affected by system updates or failovers |
114114
| [Azure SQL Migration extension for Azure Data Studio](/azure/dms/migration-using-azure-data-studio) | - Migrate single databases or at scale.<br />- Can run in both online and offline modes.<br /><br />Supported sources:<br />- SQL Server (2005 onward) on-premises, or on Azure Virtual Machines<br />- SQL Server on Amazon EC2<br />- Amazon RDS for SQL Server<br />- SQL Server on Google Compute Engine | - Migrations at scale can be automated via [PowerShell or Azure CLI](/azure/dms/migration-dms-powershell-cli).<br />- Time to complete migration depends on database size and the number of objects in the database.<br />- Azure Data Studio is required when you aren't using PowerShell or Azure CLI. |
115-
| [Log Replay Service](/azure/azure-sql/managed-instance/log-replay-service-migrate) | - Migrate individual line-of-business application databases.<br />- Need more control over database migration.<br />- Non-sensitive workloads that can afford downtime.<br />- Can only use a public endpoint.<br />- Need to migrate multiple databases.<br /><br />Supported sources:<br />- SQL Server (2008 to 2019) on-premises or Azure VM<br />- Amazon EC2<br />- Amazon RDS for SQL Server<br />- GCP Compute SQL Server VM | - The migration entails making full database backups on SQL Server and copying backup files to Azure Blob Storage. Log Replay Service is used to restore backup files from Azure Blob Storage to SQL Managed Instance.<br />- Databases during the migration process are in restoring mode and can't be used for read or write workloads until the process is complete.<br />- Uses a public endpoint, so special network configuration isn't necessary.<br />- Can be interrupted by system updates or failovers. |
116-
| [Native backup and restore](/azure/azure-sql/managed-instance/restore-sample-database-quickstart) | - Migrate individual line-of-business application databases.<br />- Quick and easy migration without a separate migration service or tool.<br /><br />Supported sources:<br />- SQL Server (2005 to 2019) on-premises or Azure VM<br />- Amazon EC2<br />- GCP Compute SQL Server VM | - Database backup uses multiple threads to optimize data transfer to Azure Blob Storage, but partner bandwidth and database size can affect transfer rate.<br />- Downtime should accommodate the time required to perform a full backup and restore (which is a size of data operation). |
115+
| [Log Replay Service](/azure/azure-sql/managed-instance/log-replay-service-migrate) | - Migrate individual line-of-business application databases.<br />- Need more control over database migration.<br />- Non-sensitive workloads that can afford downtime.<br />- Can only use a public endpoint.<br />- Need to migrate multiple databases.<br /><br />Supported sources:<br />- SQL Server (2008 to 2022) on-premises or Azure VM<br />- Amazon EC2<br />- Amazon RDS for SQL Server<br />- GCP Compute SQL Server VM | - The migration entails making full database backups on SQL Server and copying backup files to Azure Blob Storage. Log Replay Service is used to restore backup files from Azure Blob Storage to SQL Managed Instance.<br />- Databases during the migration process are in restoring mode and can't be used for read or write workloads until the process is complete.<br />- Uses a public endpoint, so special network configuration isn't necessary.<br />- Can be interrupted by system updates or failovers. |
116+
| [Native backup and restore](/azure/azure-sql/managed-instance/restore-sample-database-quickstart) | - Migrate individual line-of-business application databases.<br />- Quick and easy migration without a separate migration service or tool.<br /><br />Supported sources:<br />- SQL Server (2005 to 2022) on-premises or Azure VM<br />- Amazon EC2<br />- GCP Compute SQL Server VM | - Database backup uses multiple threads to optimize data transfer to Azure Blob Storage, but partner bandwidth and database size can affect transfer rate.<br />- Downtime should accommodate the time required to perform a full backup and restore (which is a size of data operation). |
117117

118118
The following table compares the alternative migration options:
119119

120120
| Method or technology | When to use | Considerations |
121121
| --- | --- | --- |
122-
| [Transactional replication](/azure/azure-sql/managed-instance/replication-transactional-overview) | - Migrate by continuously publishing changes from source database tables to target SQL Managed Instance database tables.<br />- Do full or partial database migrations of selected tables (subset of a database).<br /><br />Supported sources:<br />- SQL Server (2012 to 2019) with some limitations<br />- Amazon EC2<br />- GCP Compute SQL Server VM |<br />- Setup is relatively complex compared to other migration options.<br />- Provides a continuous replication option to migrate data (without taking the databases offline).<br />- Transactional replication has limitations to consider when you're setting up the publisher on the source SQL Server instance. See [Limitations on publishing objects](/sql/relational-databases/replication/publish/publish-data-and-database-objects#limitations-on-publishing-objects) to learn more.<br />- Capability to [monitor replication activity](/sql/relational-databases/replication/monitor/monitoring-replication) is available. |
123-
| [Bulk copy](/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server) | - Do full or partial data migrations.<br />- Can accommodate downtime.<br /><br />Supported sources:<br />- SQL Server (2005 to 2019) on-premises or Azure VM<br />- Amazon EC2<br />- Amazon RDS for SQL Server<br />- GCP Compute SQL Server VM | - Requires downtime for exporting data from the source and importing into the target.<br />- The file formats and data types used in the export or import need to be consistent with table schemas. |
124-
| [Import Export Wizard/BACPAC](/azure/azure-sql/database/database-import) | - Migrate individual line-of-business application databases.<br />- Suited for smaller databases.<br />Doesn't require a separate migration service or tool.<br /><br />Supported sources:<br />- SQL Server (2005 to 2019) on-premises or Azure VM<br />- Amazon EC2<br />- Amazon RDS<br />- GCP Compute SQL Server VM |<br />- Requires downtime because data needs to be exported at the source and imported at the destination.<br />- The file formats and data types used in the export or import need to be consistent with table schemas to avoid truncation or data-type mismatch errors.<br />- Time taken to export a database with a large number of objects can be significantly higher. |
125-
| [Azure Data Factory](/azure/data-factory/connector-azure-sql-managed-instance) | - Migrate and/or transform data from source SQL Server databases.<br />- Merging data from multiple sources of data to Azure SQL Managed Instance is typically for business intelligence (BI) workloads.<br />- Requires creating data movement pipelines in Data Factory to move data from source to destination.<br />- [Cost](https://azure.microsoft.com/pricing/details/data-factory/data-pipeline/) is an important consideration and is based on factors like pipeline triggers, activity runs, and duration of data movement. |
122+
| [Transactional replication](/azure/azure-sql/managed-instance/replication-transactional-overview) | - Migrate by continuously publishing changes from source database tables to target SQL Managed Instance database tables.<br />- Do full or partial database migrations of selected tables (subset of a database).<br /><br />Supported sources:<br />- SQL Server (2012 to 2022) with some limitations<br />- Amazon EC2<br />- GCP Compute SQL Server VM | - Setup is relatively complex compared to other migration options.<br />- Provides a continuous replication option to migrate data (without taking the databases offline).<br />- Transactional replication has limitations to consider when you're setting up the publisher on the source SQL Server instance. See [Limitations on publishing objects](/sql/relational-databases/replication/publish/publish-data-and-database-objects#limitations-on-publishing-objects) to learn more.<br />- Capability to [monitor replication activity](/sql/relational-databases/replication/monitor/monitoring-replication) is available. |
123+
| [Bulk copy](/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server) | - Do full or partial data migrations.<br />- Can accommodate downtime.<br /><br />Supported sources:<br />- SQL Server (2005 to 2022) on-premises or Azure VM<br />- Amazon EC2<br />- Amazon RDS for SQL Server<br />- GCP Compute SQL Server VM | - Requires downtime for exporting data from the source and importing into the target.<br />- The file formats and data types used in the export or import need to be consistent with table schemas. |
124+
| [Import Export Wizard/BACPAC](/azure/azure-sql/database/database-import) | - Migrate individual line-of-business application databases.<br />- Suited for smaller databases.<br />Doesn't require a separate migration service or tool.<br /><br />Supported sources:<br />- SQL Server (2005 to 2022) on-premises or Azure VM<br />- Amazon EC2<br />- Amazon RDS<br />- GCP Compute SQL Server VM | - Requires downtime because data needs to be exported at the source and imported at the destination.<br />- The file formats and data types used in the export or import need to be consistent with table schemas to avoid truncation or data-type mismatch errors.<br />- Time taken to export a database with a large number of objects can be significantly higher. |
125+
| [Azure Data Factory](/azure/data-factory/connector-azure-sql-managed-instance) | - Migrate and/or transform data from source SQL Server databases.<br />- Merging data from multiple sources of data to Azure SQL Managed Instance is typically for business intelligence (BI) workloads. | - Requires creating data movement pipelines in Data Factory to move data from source to destination.<br />- [Cost](https://azure.microsoft.com/pricing/details/data-factory/data-pipeline/) is an important consideration and is based on factors like pipeline triggers, activity runs, and duration of data movement. |
126126

127127
## Feature interoperability
128128

@@ -193,9 +193,9 @@ If you have memory-optimized tables or memory-optimized table types in your on-p
193193
- If you want to migrate to the General Purpose tier in Azure SQL Managed Instance, remove memory-optimized tables, memory-optimized table types, and natively compiled SQL modules that interact with memory-optimized objects before migrating your databases. You can use the following T-SQL query to identify all objects that need to be removed before migration to the General Purpose tier:
194194

195195
```sql
196-
SELECT * FROM sys.tables WHERE is_memory_optimized=1
197-
SELECT * FROM sys.table_types WHERE is_memory_optimized=1
198-
SELECT * FROM sys.sql_modules WHERE uses_native_compilation=1
196+
SELECT * FROM sys.tables WHERE is_memory_optimized = 1;
197+
SELECT * FROM sys.table_types WHERE is_memory_optimized = 1;
198+
SELECT * FROM sys.sql_modules WHERE uses_native_compilation = 1;
199199
```
200200

201201
To learn more about in-memory technologies, see [Optimize performance by using in-memory technologies in Azure SQL Database and Azure SQL Managed Instance](/azure/azure-sql/in-memory-oltp-overview).
@@ -204,7 +204,7 @@ To learn more about in-memory technologies, see [Optimize performance by using i
204204

205205
Be sure to take advantage of the advanced cloud-based features in SQL Managed Instance. For example, you don't need to worry about managing backups because the service does it for you. You can restore to any [point in time within the retention period](/azure/azure-sql/database/recovery-using-backups#point-in-time-restore). Additionally, you don't need to worry about setting up high availability, because [high availability is built in](/azure/azure-sql/database/high-availability-sla-local-zone-redundancy).
206206

207-
To strengthen security, consider using [Microsoft Entra authentication](/azure/azure-sql/database/authentication-aad-overview), [auditing](/azure/azure-sql/managed-instance/auditing-configure), [threat detection](/azure/azure-sql/database/azure-defender-for-sql), [row-level security](/sql/relational-databases/security/row-level-security), and [dynamic data masking](/sql/relational-databases/security/dynamic-data-masking).
207+
To strengthen security, consider using [Microsoft Entra authentication for Azure SQL](/azure/azure-sql/database/authentication-aad-overview), [auditing](/azure/azure-sql/managed-instance/auditing-configure), [threat detection](/azure/azure-sql/database/azure-defender-for-sql), [row-level security](/sql/relational-databases/security/row-level-security), and [dynamic data masking](/sql/relational-databases/security/dynamic-data-masking).
208208

209209
In addition to advanced management and security features, SQL Managed Instance provides advanced tools that can help you [monitor and tune your workload](/azure/azure-sql/database/monitor-tune-overview). [Azure SQL Analytics](/azure/azure-monitor/insights/azure-sql) allows you to monitor a large set of managed instances in a centralized way. [Automatic tuning](/sql/relational-databases/automatic-tuning/automatic-tuning#automatic-plan-correction) in managed instances continuously monitors performance of your SQL plan execution and automatically fixes the identified performance problems.
210210

0 commit comments

Comments
 (0)