You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: data-migration/sql-server/managed-instance/overview.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: "SQL Server to SQL Managed Instance: Migration overview"
2
+
title: "SQL Server to SQL Managed Instance: Migration Overview"
3
3
description: Learn about the tools and options available to migrate your SQL Server databases to Azure SQL Managed Instance.
4
4
author: rwestMSFT
5
5
ms.author: randolphwest
6
6
ms.reviewer: mathoma, danil
7
-
ms.date: 06/26/2024
7
+
ms.date: 11/14/2024
8
8
ms.service: azure-sql-managed-instance
9
9
ms.subservice: migration-guide
10
10
ms.topic: how-to
@@ -110,19 +110,19 @@ The following table compares the recommended migration options:
110
110
111
111
| Migration option | When to use | Considerations |
112
112
| --- | --- | --- |
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 |
114
114
|[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). |
117
117
118
118
The following table compares the alternative migration options:
119
119
120
120
| Method or technology | When to use | Considerations |
121
121
| --- | --- | --- |
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. |
126
126
127
127
## Feature interoperability
128
128
@@ -193,9 +193,9 @@ If you have memory-optimized tables or memory-optimized table types in your on-p
193
193
- 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:
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
204
204
205
205
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).
206
206
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).
208
208
209
209
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.
0 commit comments