Skip to content

Commit f297216

Browse files
authored
Adding permission steps (#35871)
1 parent 09f7d4c commit f297216

8 files changed

Lines changed: 110 additions & 24 deletions

File tree

26.5 KB
Loading
-4.41 KB
Loading
30.6 KB
Loading
28.5 KB
Loading
31.4 KB
Loading

docs/sql-server/azure-arc/migrate-to-azure-sql-managed-instance.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ First, you choose an appropriate SQL Managed Instance target and prepare your en
3636

3737
Database migration is available by default for all SQL Server instances enabled by Azure Arc, starting with [!INCLUDE [sssql11-md](../../includes/sssql11-md.md)].
3838

39+
The **Database Migration** pane also has a useful summary of the migration status for your instance, such as the number of total databases, the recommended target, the number of completed migrations, and the number of ongoing migrations:
40+
41+
:::image type="content" source="media/migrate-to-azure-sql-managed-instance/database-migration-summary.png" alt-text="Screenshot of the summary on the Database Migration pane in the Azure portal." lightbox="media/migrate-to-azure-sql-managed-instance/database-migration-summary.png":::
42+
3943
## Integrated migration methods
4044

4145
Choose the migration method that best fits your needs on the **Database migration** pane. After an initial configuration to prepare your environment, the migration process automates the rest based on your selection.
@@ -51,7 +55,7 @@ The following table summarizes the two methods built into the migration process:
5155
| **Description** | Most performant method with near real-time replication. Provides a read-only (R/O) database on the target, so you can query your data in near-real time during the migration to offload R/O workloads on the secondary, or check data during the migration. Best possible minimum downtime migration. | Most compatible migration method. Upload backups to an intermediary Azure blob storage account that the LRS service automatically restores to SQL Managed Instance continuously. No R/O database replica is available on the target. |
5256
| **Supported versions** | SQL Server 2016 and later on Windows Server 2016 and later | SQL Server 2012 and later on Windows Server 2012 and later |
5357
| **Supported editions** | Enterprise, Standard, and Developer editions | All editions |
54-
| **Recommended for** | Business-critical workloads that require minimum downtime during migration and access to a R/O database on the target, with a destination target of either a General Purpose or Business Critical SQL Managed Instance. | General purpose workloads where some planned downtime is acceptable and destination target of a General Purpose SQL Managed Instance. Not recommended for Business Critical SQL managed instance targets. |
58+
| **Recommended for** | Business-critical workloads that require minimum downtime during migration and access to a read-only database on the target, with a destination target of either a General Purpose or Business Critical SQL Managed Instance. | General purpose workloads where some planned downtime is acceptable and destination target of a General Purpose SQL Managed Instance. Not recommended for Business Critical SQL managed instance targets. |
5559

5660
For an in-depth comparison of the two migration methods, see [Compare Managed Instance link with LRS for migration](/azure/azure-sql/managed-instance/log-replay-service-compare-mi-link).
5761

@@ -136,7 +140,7 @@ After your target is ready, start the migration process.
136140

137141
Once you've prepared your environment for [Managed Instance link migration](migration-sql-mi-prepare-link.md), you can migrate your SQL Server databases to Azure SQL Managed Instance.
138142

139-
Follow these steps to migrate your SQL Server databases to SQL Managed Instance by using the Managed Instance link::
143+
Follow these steps to migrate your SQL Server databases to SQL Managed Instance by using the Managed Instance link:
140144

141145
1. On the **Database migration** pane, select **Migrate data**.
142146
1. On the **New data migration** pane, choose **Migrate using real-time replication (online)**:
@@ -173,7 +177,7 @@ Follow these steps to migrate your SQL Server databases to SQL Managed Instance
173177

174178
:::image type="content" source="media/migrate-to-azure-sql-managed-instance/migrate-data-lrs.png" alt-text="Screenshot of the LRS migration option on the Migrate Data page in the Azure portal.":::
175179

176-
1. On the **Select source databases** tab, check the boxes next to the databases that you want to migrate, and then use **Next** to proceed to the next page.:
180+
1. On the **Select source databases** tab, check the boxes next to the databases that you want to migrate, and then use **Next** to proceed to the next page:
177181

178182
:::image type="content" source="media/migrate-to-azure-sql-managed-instance/select-source-database-lrs.png" alt-text="Screenshot of the select source databases page when you migrate your database with LRS in the Azure portal." lightbox="media/migrate-to-azure-sql-managed-instance/select-source-database-lrs.png":::
179183

@@ -197,7 +201,7 @@ The **Monitor and cutover** pane shows useful information about the migration pr
197201

198202
:::image type="content" source="media/migrate-to-azure-sql-managed-instance/monitor-migration.png" alt-text="Screenshot of the monitor migration page in the Azure portal." lightbox="media/migrate-to-azure-sql-managed-instance/monitor-migration.png":::
199203

200-
You can pause, resume, or cancel the migration from the **Monitor and cutover** pane. You can also view logs for information about the migration. Selecting a database takes you to a pane with more details about the source and target.
204+
You can complete or cancel the migration from the **Monitor and cutover** pane. You can also view logs for information about the migration. Selecting a database takes you to a pane with more details about the source and target.
201205

202206
After the migration finishes, the migration status shows **Ready for cutover**. To cut over to the SQL Managed Instance target, select **Cutover** on the **Monitor and cutover** pane. You can also use the database details pane.
203207

docs/sql-server/azure-arc/migration-overview.md

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ description: Learn about the capabilities of SQL Server migration in Azure Arc.
55
author: ajithkr-ms
66
ms.author: ajithkr
77
ms.reviewer: mikeray, mathoma
8-
ms.date: 11/18/2025
8+
ms.date: 11/19/2025
99
ms.topic: how-to
1010
---
1111

1212
# SQL Server migration in Azure Arc Overview
1313

1414
[!INCLUDE [sqlserver](../../includes/applies-to-version/sqlserver.md)]
1515

16-
This article provides an overview of SQL Server migration in Azure Arc for [SQL Server instances enabled by Azure Arc](overview.md).
16+
This article provides an overview of SQL Server migration in Azure Arc for [SQL Server enabled by Azure Arc](overview.md).
1717

1818
## Overview
1919

@@ -31,7 +31,7 @@ SQL Server migration in Azure Arc is available by default for all SQL Server ins
3131

3232
## Migration targets
3333

34-
Currently, you can only migrate to [Azure SQL Managed Instance](migrate-to-azure-sql-managed-instance.md).
34+
Currently, you can only migrate to [Migration to Azure SQL Managed Instance - SQL Server migration in Azure Arc](migrate-to-azure-sql-managed-instance.md).
3535

3636
## Microsoft Copilot assisted migration
3737

@@ -93,11 +93,23 @@ You can obtain a migration assessment for SQL Servers located anywhere, such as:
9393

9494
The assessment is available for any instance of SQL Server enabled by Azure Arc.
9595

96+
## Database migration
97+
98+
On the **Database migration** pane, you can migrate your SQL Server databases to Azure SQL Managed Instance. The migration process is fully managed and automated from the Azure portal. Once you're ready to start, you can use the tiles to assess your SQL Server databases, choose a migration target, and start the migration process.
99+
100+
**Database migration** guides you through the migration with easy to follow tiles for each step of the process:
101+
102+
:::image type="content" source="media/migrate-to-azure-sql-managed-instance/migration-home-page.png" alt-text="Screenshot that shows the migration home page for a SQL Server instance in the Azure portal." lightbox="media/migrate-to-azure-sql-managed-instance/migration-home-page.png":::
103+
104+
The **Database Migration** pane also has a useful summary of the migration status for your instance, such as the number of total databases, the recommended target, the number of completed migrations, and the number of ongoing migrations:
105+
106+
:::image type="content" source="media/migrate-to-azure-sql-managed-instance/database-migration-summary.png" alt-text="Screenshot of the summary on the Database Migration pane in the Azure portal." lightbox="media/migrate-to-azure-sql-managed-instance/database-migration-summary.png":::
107+
96108
## Related content
97109

98-
- [Migration dashboard](migration-inventory.md)
99-
- [Assessment for migration to Azure](migration-assessment.md)
100-
- [Prepare environment for a Managed Instance link migration](migration-sql-mi-prepare-link.md)
101-
- [Prepare environment for an LRS migration](migration-sql-mi-prepare-log-replay-service.md)
110+
- [Track migration journey by using migration dashboard - SQL Server enabled by Azure Arc](migration-inventory.md)
111+
- [Assess migration readiness - SQL Server enabled by Azure Arc](migration-assessment.md)
112+
- [Prepare environment for a Managed Instance link migration - SQL Server migration in Azure Arc](migration-sql-mi-prepare-link.md)
113+
- [Prepare environment for LRS migration - SQL Server migration in Azure Arc](migration-sql-mi-prepare-log-replay-service.md)
102114
- [SQL Server enabled by Azure Arc](overview.md)
103115
- [Deployment options for SQL Server enabled by Azure Arc](deployment-options.md)

docs/sql-server/azure-arc/migration-sql-mi-prepare-log-replay-service.md

Lines changed: 83 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,20 +67,95 @@ You use an Azure Blob Storage account as intermediary storage for backup files b
6767

6868
To create a new storage account and a blob container inside the storage account:
6969

70-
1. [Create a storage account](/azure/storage/common/storage-account-create?tabs=azure-portal).
70+
1. [Create a storage account](/azure/storage/common/storage-account-create?tabs=azure-portal):
71+
1. Search for **Storage accounts** in the Azure portal, and select **Create**.
72+
1. On the **Basics** tab, select your subscription and resource group. The region should be the same as your SQL Managed Instance target.
73+
1. Leave **Preferred storage type** blank.
74+
1. Use default settings for the rest of the tabs, and select **Review + create**.
75+
1. After validation passes, select **Create**.
7176
1. [Create a blob container](/azure/storage/blobs/storage-quickstart-blobs-portal) inside the storage account.
72-
1. (Optional) [Configure Azure storage behind a firewall](/azure/azure-sql/managed-instance/log-replay-service-migrate#create-a-storage-account).
77+
1. Go to your new storage account in the Azure portal.
78+
1. Under **Data storage**, select **Containers**.
79+
1. Use **Add container** to open the **New container** pane.
80+
1. Enter a name for your container, leave options at their defaults, and select **Create** to create your container.
81+
1. (Optional) If your Azure Storage is behind a firewall, your Azure Blob storage requires [additional configuration](/azure/azure-sql/managed-instance/log-replay-service-migrate#configure-azure-storage-behind-a-firewall) after your SQL managed instance is provisioned.
7382

7483
## Grant permissions to Azure Blob Storage
7584

76-
SQL Server migration in Azure Arc with LRS uses a managed identity to authenticate to Azure Blob Storage. You need to grant access to the blob storage:
85+
SQL Server migration in Azure Arc with LRS uses a managed identity to authenticate to Azure Blob Storage.
7786

78-
- [Grant managed identity access to the Azure Blob Storage account](/azure/storage/blobs/authorize-access-azure-active-directory)
79-
- [Grant managed identity access to SQL Managed Instance](/azure/azure-sql/database/authentication-azure-ad-user-assigned-managed-identity). Assign the **Storage Blob Data Reader** role to the primary managed identity of Azure SQL Managed Instance.
87+
You need to grant the following permissions:
88+
- [Grant user access to the storage account](#grant-user-access-to-the-storage-account) where you plan to store backups during the migration process.
89+
- [Grant user access to the resource group](#grant-user-access-to-the-resource-group) that contains the storage account.
90+
- [Grant managed identity access to the storage account](#grant-managed-identity-access-to-the-storage-account) after your SQL managed instance is provisioned.
8091

81-
Assign the following roles to the user who signs in to the Azure portal and performs the migration:
82-
- [Storage Blob Data Reader](/azure/role-based-access-control/built-in-roles/storage#storage-blob-data-reader) on the resource group that contains the storage account.
83-
- **Reader** on the resource group that contains the storage account.
92+
### Grant user access to the storage account
93+
94+
To access database backups during the migration process, assign the user who signs in to the Azure portal and performs the migration to the [Storage Blob Data Reader](/azure/role-based-access-control/built-in-roles/storage#storage-blob-data-reader) role for the storage account that contains the backups.
95+
96+
To assign the role, follow these steps:
97+
1. In the Azure portal, go to the resource group that contains your storage account.
98+
1. Select **Access control (IAM)** from the resource menu.
99+
1. Use **+ Add** to select **Add role assignment** and open the **Add role assignment** pane.
100+
1. Search for and select the **Storage Blob Data Reader** role. Then, select **Next**.
101+
102+
:::image type="content" source="media/migration-sql-mi-prepare-log-replay-service/search-storage-blob-data-reader.png" alt-text="Screenshot of finding the Storage Blob Data Reader role on the IAM page for the storage account in the Azure portal." lightbox="media/migration-sql-mi-prepare-log-replay-service/search-storage-blob-data-reader.png":::
103+
104+
1. Use **+ Select members** to open the **Select members** pane, and search for the user account of the person performing the migration. If multiple people are migrating data, grant all of those users this access. Select the user account, and then use **Select** to save your selection. Check the option to assign access to **User, group, or service principal**.
105+
1. Select **Review + assign** to go to the **Review + assign** tab, and then select **Review + assign** again to complete the role assignment.
106+
107+
### Grant user access to the resource group
108+
109+
To access database backups during the migration process, the user who signs in to the Azure portal and performs the migration needs to be assigned the **Reader** role on the resource group that contains the storage account.
110+
111+
To assign the role, follow these steps:
112+
1. In the Azure portal, go to the resource group that contains your storage account.
113+
1. Select **Access control (IAM)** from the resource menu.
114+
1. Use **+ Add** to select **Add role assignment** and open the **Add role assignment** pane.
115+
1. Search for and select the **Reader** role. Then, select **Next**.
116+
117+
:::image type="content" source="media/migration-sql-mi-prepare-log-replay-service/search-reader-role.png" alt-text="Screenshot of finding the Reader role on the IAM page for the resource group in the Azure portal." lightbox="media/migration-sql-mi-prepare-log-replay-service/search-reader-role.png":::
118+
119+
1. Use **+ Select members** to open the **Select members** pane, and search for the user account of the person performing the migration. If multiple people are migrating data, grant all of those users this access. Select the user account, and then use **Select** to save your selection. Check the option to assign access to **User, group, or service principal** and then use **Next** to continue.
120+
1. On the **Assignment type** tab, set the **Assignment type** to **Active** and the **Assignment duration** to **Permanent**:
121+
122+
:::image type="content" source="media/migration-sql-mi-prepare-log-replay-service/reader-role-assignment-type.png" alt-text="Screenshot of setting the Assignment type to Active and the Assignment duration to Permanent on the Assignment type tab in the Azure portal." lightbox="media/migration-sql-mi-prepare-log-replay-service/reader-role-assignment-type.png":::
123+
124+
1. Select **Review + assign** to go to the **Review + assign** tab, and then select **Review + assign** again to complete the role assignment.
125+
126+
### Grant managed identity access to the storage account
127+
128+
After your SQL managed instance is provisioned, you need to assign the managed identity of your SQL managed instance the [Storage Blob Data Reader](/azure/role-based-access-control/built-in-roles/storage#storage-blob-data-reader) role so that it can access your Azure Blob Storage account during the migration process.
129+
130+
First, you must determine what kind of managed identity your SQL managed instance uses. To do so, follow these steps:
131+
1. Go to your [SQL managed instance](https://portal.azure.com/#view/HubsExtension/ServiceMenuBlade/~/SingleInstance/extension/SqlAzureExtension/menuId/AzureSqlHub/itemId/SingleInstance) in the Azure portal.
132+
1. Under **Security**, select **Identity**.
133+
1. If under **User assigned managed identity**, you see *No user assigned managed identities found*, your SQL managed instance uses the default **system-assigned managed identity**.
134+
1. If you see an entry in the **Primary identity** field, then your SQL managed instance uses a custom **user assigned managed identity**. Make note of this identity to use in the step where you're selecting this managed identity when granting **Storage Blob Data Reader** access to the storage account.
135+
136+
To grant access to the storage account, follow these steps:
137+
1. Go to the Azure Blob Storage account in the Azure portal that you intend to use for the migration.
138+
1. Select **Access control (IAM)** from the resource menu.
139+
1. Use **+ Add** to select **Add role assignment** and open the **Add role assignment** pane.
140+
1. Search for and select the **Storage Blob Data Reader** role. Then, select **Next**.
141+
1. Under **Assign access to** check the **Managed identity** option.
142+
1. Use **Select members** to open the **Select members** pane.
143+
1. If your SQL managed instance uses the default **system-assigned managed identity**:
144+
1. Under **Managed identity**, select **SQL managed instance**.
145+
1. Search and select the name of your SQL managed instance.
146+
1. Use **Select** to save your selection.
147+
1. If your SQL managed instance uses a **user-assigned managed identity**:
148+
1. Under **Managed identity**, select **User assigned managed identity**.
149+
1. Search for the **Primary identity** name that you noted earlier from the **Identity** page of your [SQL managed instance](https://portal.azure.com/#view/HubsExtension/ServiceMenuBlade/~/SingleInstance/extension/SqlAzureExtension/menuId/AzureSqlHub/itemId/SingleInstance) and select it.
150+
1. Use **Select** to save your selection.
151+
1. Select **Review + assign** to go to the **Review + assign** tab, and then select **Review + assign** again to complete the role assignment.
152+
153+
Once you've uploaded at least one full backup to this storage account, you can run the following command on your SQL managed instance to verify that it can access your Azure Blob Storage account:
154+
155+
```sql
156+
RESTORE HEADERONLY
157+
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';
158+
```
84159

85160
## Upload backups to your Blob Storage account
86161

@@ -180,11 +255,6 @@ If it's important that databases are available as soon as cutover completes, con
180255

181256
Monitoring the migration through the Azure portal is available only to SQL Server instances that meet monitoring [licensing requirements](sql-monitoring.md#prerequisites).
182257

183-
## Next steps
184-
185-
> [!div class="nextstepaction"]
186-
> [Migrate to Azure SQL Managed Instance](migrate-to-azure-sql-managed-instance.md)
187-
188258
## Related content
189259

190260
- [SQL Server migration in Azure Arc](migration-overview.md)

0 commit comments

Comments
 (0)