Skip to content

Commit d0c009f

Browse files
Merge pull request #36059 from MicrosoftDocs/main
Auto Publish – main to live - 2025-12-11 18:30 UTC
2 parents 6bfad8d + 007a9ae commit d0c009f

File tree

40 files changed

+1698
-1071
lines changed

40 files changed

+1698
-1071
lines changed

.openpublishing.publish.config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@
188188
"redirection_files": [
189189
".openpublishing.redirection.azure-sql.json",
190190
".openpublishing.redirection.azure-data-studio.json",
191+
".openpublishing.redirection.data-migration.json",
191192
".openpublishing.redirection.powershell.json",
192193
".openpublishing.redirection.ssms.json",
193194
".openpublishing.redirection.stretch-database.json",
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"redirections": [
3+
{
4+
"source_path": "data-migration/sql-server/virtual-machines/database-migration-service.md",
5+
"redirect_url": "/data-migration/sql-server/virtual-machines/database-migration-service-offline",
6+
"redirect_document_id": false
7+
}
8+
]
9+
}

azure-sql/virtual-machines/windows/configure-azure-ad-authentication-for-sql-vm.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: azure-vm-sql-server
99
ms.subservice: security
1010
ms.topic: how-to
1111
ms.custom:
12-
- has-azure-ad-ps-ref
12+
- no-azure-ad-ps-ref
1313
- devx-track-azurecli
1414
- ignite-2025
1515
---
@@ -99,8 +99,6 @@ To grant your managed identity the **Directory Readers** role, follow these step
9999

100100
You can use [Azure PowerShell](/powershell/azure/install-azure-powershell) to grant app roles to a managed identity. To do so, follow these steps:
101101

102-
[!INCLUDE [Azure AD PowerShell deprecation note](~/../azure-sql/reusable-content/msgraph-powershell/includes/aad-powershell-deprecation-note.md)]
103-
104102
1. Connect to Microsoft Graph
105103

106104
```powershell

data-migration/includes/create-database-migration-service-instance.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ ms.collection:
99
ms.custom: sfi-image-nochange
1010
---
1111

12-
### Create a Database Migration Service instance
13-
1412
**Step 1:** In the [Azure portal](https://portal.azure.com/#browse/Microsoft.DataMigration%2Fservices), navigate to the **Azure Database Migration Service** page. Create a new instance of Azure Database Migration Service, or reuse an existing instance that you created earlier.
1513

1614
#### Use an existing instance of Database Migration Service
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
author: rwestMSFT
3+
ms.author: randolphwest
4+
ms.date: 12/10/2025
5+
ms.service: azure-database-migration-service
6+
ms.topic: include
7+
---
8+
9+
Make sure your resources can access the Azure Storage account. Depending on your database backup location and desired storage account network settings, refer to the following table for the various migration scenarios and network configurations:
10+
11+
| Scenario | SMB network share | Azure Storage account container |
12+
| --- | --- | --- |
13+
| **Enabled from all networks** | No extra steps | No extra steps |
14+
| **Enabled from selected virtual networks and IP addresses** | [On-premises self-hosted integration runtime (SHIR)](?tabs=dms-on-prem-shir#dms-backup-storage) | [Backups stored in Azure Storage container](?tabs=dms-backups-azure-storage#dms-backup-storage) |
15+
| **Enabled from selected virtual networks and IP addresses + private endpoint** | [Azure VM self-hosted integration runtime (SHIR)](?tabs=dms-azure-vm-shir#dms-backup-storage) | [Backups stored in Azure Storage container (Private endpoint)](?tabs=dms-backups-private-endpoint#dms-backup-storage) |
16+
17+
<a id="dms-backup-storage"></a>
18+
19+
### [On-premises SHIR](#tab/dms-on-prem-shir)
20+
21+
#### On-premises self-hosted integration runtime (SHIR)
22+
23+
If you install your SHIR on your on-premises network, follow these steps:
24+
25+
1. Connect to the Azure portal from the SHIR machine.
26+
27+
1. Open your Azure Storage account, and go to the **Networking** pane.
28+
29+
1. Make sure **Public network access** is set to **Enabled from selected virtual networks and IP addresses**.
30+
31+
1. In the **Firewall** section, select the **Add your client IP address** checkbox.
32+
33+
1. Enter the client IP address of the host machine, and select **Save**.
34+
35+
### [Azure VM SHIR](#tab/dms-azure-vm-shir)
36+
37+
#### Azure VM self-hosted integration runtime (SHIR)
38+
39+
If you host your SHIR on an Azure VM, add the virtual network of the VM to the Azure Storage account, because the VM has a non-public IP address that you can't add to the IP address range section.
40+
41+
1. Connect to the Azure portal, and open your Azure Storage account.
42+
43+
1. Open your Azure Storage account, and go to the **Networking** pane.
44+
45+
1. Select the **Add existing virtual network** checkbox.
46+
47+
1. Select the subscription, virtual network, and subnet of the Azure VM hosting the SHIR. You can find this information on the **Overview** page of the Azure Virtual Machine. The subnet might say **Service endpoint required**. If so, select **Enable**.
48+
49+
1. Select **Save**.
50+
51+
### [Azure Storage](#tab/dms-backups-azure-storage)
52+
53+
#### Backups stored in Azure Storage container
54+
55+
If you place your backups directly into an Azure Storage container, you don't need to perform the preceding steps because there's no Integration Runtime communicating with the Azure Storage account.
56+
57+
However, you still need to ensure that the target SQL Server instance can communicate with the Azure Storage account to restore the backups from the container.
58+
59+
1. Connect to the Azure portal, and open your Azure Storage account.
60+
61+
1. Open your Azure Storage account, and go to the **Networking** pane.
62+
63+
1. Select the **Add existing virtual network** checkbox.
64+
65+
1. Specify the target SQL Server instance virtual network, and select **Save**.
66+
67+
### [Azure Storage (Private endpoint)](#tab/dms-backups-private-endpoint)
68+
69+
#### Backups stored in Azure Storage container (Private endpoint)
70+
71+
If you set up a private endpoint on your Azure Storage account, follow these steps:
72+
73+
1. Connect to the Azure portal, and open your Azure Storage account.
74+
75+
1. Open your Azure Storage account, and go to the **Networking** pane.
76+
77+
1. Select the **Add existing virtual network** checkbox.
78+
79+
1. Specify the subnet of the private endpoint, and select **Save**.
80+
81+
The private endpoint must be hosted in the same virtual network as the target SQL Server instance. If it isn't, create another private endpoint using the process in the Azure Storage account configuration section.
82+
83+
---
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
author: rwestMSFT
3+
ms.author: randolphwest
4+
ms.date: 12/10/2025
5+
ms.service: azure-database-migration-service
6+
ms.topic: include
7+
---
8+
9+
- Create a target instance of [SQL Server on Azure Virtual Machines](/azure/azure-sql/virtual-machines/windows/create-sql-vm-portal).
10+
11+
If you have an existing Azure VM, register it with the [SQL Server IaaS Agent extension in Full management mode](/azure/azure-sql/virtual-machines/windows/sql-server-iaas-agent-extension-automate-management#management-modes).
12+
13+
- Ensure that the logins you use to connect to the source SQL Server instance are members of the **sysadmin** server role, or have `CONTROL SERVER` permission.
14+
15+
- Provide an SMB network share, Azure Storage account file share, or Azure Storage account blob container that contains your full database backup files and subsequent transaction log backup files. Azure DMS uses the backup location during database migration.
16+
17+
- Always use a dedicated storage account for migration. Sharing it with other workloads can lead to conflicts and security risks.
18+
19+
- Once migration is done, either rotate the Storage Account Key to keep backups secure, or delete the storage account if it's no longer needed.
20+
21+
- Azure DMS doesn't take database backups, and doesn't initiate any database backups on your behalf. Instead, the service uses existing database backup files for the migration.
22+
23+
- If your database backup files are in an SMB network share, [create an Azure Storage account](/azure/storage/common/storage-account-create) that allows Azure DMS to upload the database backup files, and to migrate databases. Make sure you create the Azure Storage account in the same region where you create your instance of Azure DMS.
24+
25+
- You can write each backup to either a separate backup file or to multiple backup files. Appending multiple backups such as full and transaction logs into a single backup media isn't supported.
26+
27+
- You can provide compressed backups to reduce the likelihood of experiencing potential issues associated with migrating large backups.
28+
29+
- Ensure that the service account running the source SQL Server instance has read and write permissions on the SMB network share that contains database backup files.
30+
31+
- If you're migrating a database protected by transparent data encryption (TDE), migrate the certificate from the source SQL Server instance to SQL Server on an Azure VM before you migrate data. For more information, see [Move a TDE protected database to another SQL Server](/sql/relational-databases/security/encryption/move-a-tde-protected-database-to-another-sql-server).
32+
33+
> [!TIP]
34+
> If your database contains sensitive data protected by [Always Encrypted](/sql/relational-databases/security/encryption/configure-always-encrypted-using-sql-server-management-studio), the migration process automatically migrates your Always Encrypted keys to your target instance of SQL Server on an Azure VM.
35+
36+
- If your database backups are on a network file share, provide a computer on which you can install a [self-hosted integration runtime](/azure/data-factory/create-self-hosted-integration-runtime) to access and migrate database backups. The migration wizard gives you the download link and authentication keys to download and install your self-hosted integration runtime.
37+
38+
In preparation for the migration, ensure that the computer on which you install the self-hosted integration runtime has the following outbound firewall rules and domain names enabled:
39+
40+
| Domain names | Outbound port | Description |
41+
| --- | --- | --- |
42+
| Public cloud: `{datafactory}.{region}.datafactory.azure.net`<br />or`*.frontend.clouddatahub.net`<br /><br />Azure Government: `{datafactory}.{region}.datafactory.azure.us`<br />Microsoft Azure operated by 21Vianet: `{datafactory}.{region}.datafactory.azure.cn` | 443 | Required by the self-hosted integration runtime to connect to Azure DMS.<br />For a newly created data factory in a public cloud, locate the fully qualified domain name (FQDN) from your self-hosted integration runtime key, in the format `{datafactory}.{region}.datafactory.azure.net`.<br />For an existing data factory, if you don't see the FQDN in your self-hosted integration key, use `*.frontend.clouddatahub.net` instead. |
43+
| `download.microsoft.com` | 443 | Required by the self-hosted integration runtime for downloading the updates. If you disable autoupdate, you can skip configuring this domain. |
44+
| `*.core.windows.net` | 443 | Used by the self-hosted integration runtime that connects to the Azure Storage account to upload database backups from your network share |
45+
46+
> [!TIP]
47+
> If you already store your database backup files in an Azure Storage account, you don't need a self-hosted integration runtime during the migration process.
48+
49+
- If you use a self-hosted integration runtime, make sure that the computer on which the runtime is installed can connect to the source SQL Server instance and the network file share where backup files are located.
50+
51+
- Enable outbound port 445 to allow access to the network file share. For more information, see [recommendations for using a self-hosted integration runtime](/azure/dms/migration-using-azure-data-studio#recommendations-for-using-a-self-hosted-integration-runtime-for-database-migrations).
52+
53+
- If you're using Azure DMS for the first time, make sure that the `Microsoft.DataMigration` [resource provider is registered in your subscription](/azure/dms/quickstart-create-data-migration-service-portal#register-the-resource-provider).

data-migration/sql-server/database/database-migration-service.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,8 @@ Now, you can migrate both the database schema and data using Database Migration
384384
> [!NOTE]
385385
> If no tables exist on the Azure SQL Database target, or no tables are selected before starting the migration, the **Next** button isn't available to initiate the migration. If no table exists on the target, then you must select the schema migration option to move forward.
386386
387+
### Create a Database Migration Service instance
388+
387389
[!INCLUDE [create-database-migration-service-instance](../../includes/create-database-migration-service-instance.md)]
388390

389391
### Start a new migration

0 commit comments

Comments
 (0)