Skip to content

Commit ed5b63d

Browse files
author
Carlos Robles
committed
Updating known issues, SKU recommendations and more.
1 parent 66b0e8a commit ed5b63d

7 files changed

+82
-55
lines changed

articles/dms/dms-tools-matrix.md

Lines changed: 30 additions & 30 deletions
Large diffs are not rendered by default.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: croblesm
33
ms.author: roblescarlos
4-
ms.date: 01/25/2023
4+
ms.date: 03/21/2023
55
ms.service: dms
66
ms.topic: include
77
---
@@ -12,9 +12,9 @@ Azure SQL Database offline migration utilizes Azure Data Factory (ADF) pipelines
1212
- 100,000 table per database limit.
1313
- 10,000 concurrent database migrations per service.
1414
- Migration speed heavily depends on the target Azure SQL Database SKU and the self-hosted Integration Runtime host.
15-
- Azure SQL Database migration scales poorly with table numbers due to ADF overhead in starting activities. If a database has thousands of tables, there will be a couple of seconds of startup time for each, even if they're composed of one row with 1 bit of data.
15+
- Azure SQL Database migration scales poorly with table numbers due to ADF overhead in starting activities. If a database has thousands of tables, the startup process of each table might take a couple of seconds, even if they're composed of one row with 1 bit of data.
1616
- Azure SQL Database table names with double-byte characters currently aren't supported for migration. Mitigation is to rename tables before migration; they can be changed back to their original names after successful migration.
1717
- Tables with large blob columns may fail to migrate due to timeout.
1818
- Database names with SQL Server reserved are currently not supported.
1919
- Database names that include semicolons are currently not supported.
20-
- Computed columns do not get migrated.
20+
- Computed columns don't get migrated.
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
---
22
author: croblesm
33
ms.author: roblescarlos
4-
ms.date: 12/19/2022
4+
ms.date: 03/21/2022
55
ms.service: dms
66
ms.topic: include
77
---
88

99
- If migrating a single database, the database backups must be placed in a flat-file structure inside a database folder (including the container root folder), and the folders can't be nested, as it's not supported.
1010
- If migrating multiple databases using the same Azure Blob Storage container, you must place backup files for different databases in separate folders inside the container.
1111
- Overwriting existing databases using DMS in your target Azure SQL Managed Instance isn't supported.
12-
- Configuring high availability and disaster recovery on your target to match source topology isn't supported by DMS.
12+
- DMS doesn't support configuring high availability and disaster recovery on your target to match the source topology.
1313
- The following server objects aren't supported:
1414
- SQL Server Agent jobs
1515
- Credentials
1616
- SSIS packages
1717
- Server audit
1818
- You can't use an existing self-hosted integration runtime created from Azure Data Factory for database migrations with DMS. Initially, the self-hosted integration runtime should be created using the Azure SQL migration extension in Azure Data Studio and can be reused for further database migrations.
1919
- A single LRS job (created by DMS) can run for a maximum of 30 days. When this period expires, the job is automatically canceled thus your target database gets automatically deleted.
20+
- If you received the following error: `Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance`. This issue is by design, Hekaton (**also known as SQL Server In-Memory OLTP**) isn't supported on General Purpose tier of Azure SQL Managed Instance. To continue migration, one way is to upgrade to Business Critical tier, which supports Hekaton. Another way is to make sure the source database isn't using it while the Azure SQL Managed Instance is General Purpose.

articles/dms/includes/sql-virtual-machines-limitations.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: croblesm
33
ms.author: roblescarlos
4-
ms.date: 01/25/2023
4+
ms.date: 03/21/2023
55
ms.service: dms
66
ms.topic: include
77
---
@@ -15,11 +15,13 @@ ms.topic: include
1515
- Credentials
1616
- SSIS packages
1717
- Server audit
18-
1918
- You can't use an existing self-hosted integration runtime created from Azure Data Factory for database migrations with DMS. Initially, the self-hosted integration runtime should be created using the Azure SQL migration extension in Azure Data Studio and can be reused for further database migrations.
2019
- VM with SQL Server 2008 and below as target versions aren't supported when migrating to SQL Server on Azure Virtual Machines.
2120
- If you're using a VM with SQL Server 2012 or SQL Server 2014, you need to store your source database backup files on an Azure Storage Blob Container instead of using the network share option. Store the backup files as page blobs since block blobs are only supported in SQL 2016 and after.
2221
- You must make sure the SQL IaaS Agent Extension in the target Azure Virtual Machine is in **Full mode** instead of Lightweight mode.
2322
- SQL IaaS Agent Extension only supports management of Default Server Instance or Single Named Instance,
2423
- There is a temporary limit of 80 databases per target Azure Virtual Machine. A workaround to break the limit (reset the counter) is to Uninstall and Reinstall SQL IaaS Agent Extension in the target Azure Virtual Machine.
25-
- Apart from configuring the Networking/Firewall of your Storage Account to allow your VM to access backup files, you also need to configure the Networking/Firewall of your VM to allow outbound connection to your storage account.
24+
- Apart from configuring the Networking/Firewall of your Azure Storage Account to allow your VM to access backup files. You also need to configure the Networking/Firewall of your SQL Server on Azure VM to allow outbound connection to your storage account.
25+
- You need to keep the target SQL Server on Azure VM **power ON** while the SQL Migration is in progress. Also, when creating a new migration, failover or cancel the migration.
26+
- Error: `Login failed for user 'NT Service\SQLIaaSExtensionQuery`. Reason: SQL Server instance is in single-user mode. One possible reason is the target SQL Server on Azure VM is in upgrade mode. Solution: Please wait for the target SQL Server on Azure VM exit the upgrade mode and start migration again.
27+
- Error: `Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists`. Solution: Connect to the target SQL Server on Azure VM and delete the XXX.mdf file. Then, start migration again.

articles/dms/known-issues-azure-sql-migration-azure-data-studio.md

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure Database Migration Service
44
description: Known issues, limitations and troubleshooting guide for Azure SQL Migration extension for Azure Data Studio
55
author: croblesm
66
ms.author: roblescarlos
7-
ms.date: 01/05/2023
7+
ms.date: 03/14/2023
88
ms.service: dms
99
ms.topic: troubleshooting
1010
ms.custom: seo-lt-2019
@@ -30,9 +30,9 @@ Known issues and troubleshooting steps associated with the Azure SQL Migration e
3030

3131
- **Message**: `Migration for Database 'DatabaseName' failed with error cannot find server certificate with thumbprint.`
3232

33-
- **Cause**: The source database is protected with Transparent Data Encryption (TDE). You need to migrate the Database Encryption Key (DEK) to the target Azure SQL Managed Instance or SQL Server on Azure Virtual Machine before starting the migration.
33+
- **Cause**: The source SQL Server instance certificate from a database protected by Transparent Data Encryption (TDE) hasn't been migrated to the target Azure SQL Managed Instance or SQL Server on Azure Virtual Machine before migrating data.
3434

35-
- **Recommendation**: Migrate the TDE certificate to the target instance and retry the process. For more information about migrating TDE-enabled databases, see [Tutorial: Migrate TDE-enabled databases (preview) to Azure SQL in Azure Data Studio](./tutorial-transparent-data-encryption-migration-ads.md).
35+
- **Recommendation**: Migrate the TDE certificate to the target instance and retry the process. For more information about migrating TDE-enabled databases, see [Tutorial: Migrate TDE-enabled databases (preview) to Azure SQL in Azure Data Studio](/azure/dms/tutorial-transparent-data-encryption-migration-ads).
3636

3737

3838
- **Message**: `Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3169 The database was backed up on a server running version %ls. That version is incompatible with this server, which is running version %ls. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.`
@@ -82,15 +82,26 @@ Known issues and troubleshooting steps associated with the Azure SQL Migration e
8282

8383
- **Recommendation**: If migrating multiple databases to **Azure SQL Managed Instance** using the same Azure Blob Storage container, you must place backup files for different databases in separate folders inside the container. For more information about LRS, see [Migrate databases from SQL Server to SQL Managed Instance by using Log Replay Service (Preview)](/azure/azure-sql/managed-instance/log-replay-service-migrate#limitations).
8484

85+
- **Message**: `Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 12824 The sp_configure value 'contained database authentication' must be set to 1 in order to restore a contained database. You may need to use RECONFIGURE to set the value_in_use.
86+
RESTORE DATABASE is terminating abnormally.`
8587

86-
> [!NOTE]
87-
> For more information on general troubleshooting steps for Azure SQL Managed Instance errors, see [Known issues with Azure SQL Managed Instance](/azure/azure-sql/managed-instance/doc-changes-updates-known-issues)
88+
- **Cause**: The source database is a contained database. A specific configuration is needed to enable restoring a contained database. For more information about contained databases, see [Contained Database Users](/sql/relational-databases/security/contained-database-users-making-your-database-portable).
89+
90+
- **Recommendation**: Run the following query connected to the source SQL Server in the context of the specific database before starting the migration. Then, attempt the migration of the contained database again.
91+
```sql
92+
-- Enable "contained database authentication"
93+
EXEC sp_configure 'contained', 1;
94+
RECONFIGURE;
95+
```
96+
97+
> [!NOTE]
98+
> For more information on general troubleshooting steps for Azure SQL Managed Instance errors, see [Known issues with Azure SQL Managed Instance](/azure/azure-sql/managed-instance/doc-changes-updates-known-issues)
8899
89100
## Error code: 2012 - TestConnectionFailed
90101

91102
- **Message**: `Failed to test connections using provided Integration Runtime. Error details: 'Remote name could not be resolved.'`
92103

93-
- **Cause**: DMS cannot connect to Self-Hosted Integration Runtime (SHIR) due to network settings in the firewall.
104+
- **Cause**: The Self-Hosted Integration Runtime can't connect to the service back end. This issue is caused by network settings in the firewall.
94105

95106
- **Recommendation**: There's a Domain Name System (DNS) issue. Contact your network team to fix the issue. For more information, see [Troubleshoot Self-Hosted Integration Runtime](../data-factory/self-hosted-integration-runtime-troubleshoot-guide.md).
96107

@@ -175,14 +186,15 @@ Known issues and troubleshooting steps associated with the Azure SQL Migration e
175186

176187
- **Recommendation**: If desired, the target database can be returned to its original state by running the first query and all of the returned queries, then running the second query and doing the same.
177188

178-
```
189+
```sql
179190
SELECT [ROLLBACK] FROM [dbo].[__migration_status]
180191
WHERE STEP in (3,4,6);
181192

182193
SELECT [ROLLBACK] FROM [dbo].[__migration_status]
183194
WHERE STEP in (5,7,8) ORDER BY STEP DESC;
184195
```
185196

197+
186198
## Error code: 2042 - PreCopyStepsCompletedDuringCancel
187199

188200
- **Message**: `Pre Copy steps finished successfully before canceling completed. Target database Foreign keys and temporal tables have been altered. Schema migration may be required again for future migrations. Target server: <Target Server>, Target database: <Target Database>.`
@@ -191,7 +203,7 @@ WHERE STEP in (5,7,8) ORDER BY STEP DESC;
191203

192204
- **Recommendation**: If desired, target database can be returned to its original state by running the following query and all of the returned queries.
193205

194-
```
206+
```sql
195207
SELECT [ROLLBACK] FROM [dbo].[__migration_status]
196208
WHERE STEP in (3,4,6);
197209
```
@@ -204,7 +216,6 @@ WHERE STEP in (3,4,6);
204216

205217
- **Recommendation**: For more troubleshooting steps, see [Troubleshoot Azure Data Factory and Synapse pipelines](../data-factory/data-factory-troubleshoot-guide.md#error-code-2108).
206218

207-
208219
## Error code: 2056 - SqlInfoValidationFailed
209220

210221
- **Message**: CollationMismatch: `Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.`
@@ -246,29 +257,34 @@ WHERE STEP in (3,4,6);
246257

247258
- **Recommendation**: Check if the selected tables exist in the target Azure SQL Database. If this migration is called from a PowerShell script, check if the table list parameter includes the correct table names and is passed into the migration.
248259

249-
250260
## Error code: Ext_RestoreSettingsError
251261

252-
- **Message**: Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden. The remote server returned an error: (403) Forbidden
262+
- **Message**: Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.;The remote server returned an error: (403) Forbidden
253263

254-
- **Cause**: Target is unable to connect to blob storage.
264+
- **Cause**: The Azure SQL target is unable to connect to blob storage.
255265

256-
- **Recommendation**: Confirm that target network settings allow access to blob storage. For example, if migrating to SQL VM, ensure that outbound connections on VM aren't being blocked.
266+
- **Recommendation**: Confirm that target network settings allow access to blob storage. For example, if you are migrating to a SQL Server on Azure VM target, ensure that outbound connections on the Virtual Machine are not being blocked.
257267

258268

259269
- **Message**: Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.
260270

261-
- **Cause**: Target is unable to connect to blob storage.
271+
- **Cause**: The Azure SQL target is unable to connect to blob storage.
262272

263-
- **Recommendation**: Confirm that target network settings allow access to blob storage. For example, if migrating to SQL VM, ensure that outbound connections on VM are not being blocked.
273+
- **Recommendation**: Confirm that target network settings allow access to blob storage. For example, if migrating to SQL VM, ensure that outbound connections on VM are not being blocked.
264274

265275

266276
- **Message**: `Migration for Database <Database Name> failed with error 'Migration cannot be completed because provided backup file name <Backup File Name> should be the last restore backup file <Last Restore Backup File Name>'`.
267277

268-
- **Cause**: Most recent backup was not specified in backup settings.
278+
- **Cause**: The most recent backup was not specified in the backup settings.
279+
280+
- **Recommendation**: Specify the most recent backup file name in backup settings and retry the operation.
281+
282+
283+
- **Message**: `Operation failed: errorCode: Ext_RestoreSettingsError, message: RestoreId: 1111111-aaaa-bbbb-cccc-dddddddd, OperationId: 2222222-aaaa-bbbb-cccc-dddddddd, Detail: Unable to read blobs in storage container, exception: Unable to connect to the remote server;Unable to connect to the remote server;A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 11.111.11.111:443.`
269284

270-
- **Recommendation**: Specify most recent backup file name in backup settings and retry operation.
285+
- **Cause**: The error is possible to occur for both storage accounts with public network and private endpoint configuration. It is also possible that you have an on-premises DNS server that controls a hybrid network routing and DHCP. Unless you allow the Azure IP addresses configured in you DNS server, your SQL Server on Azure VM target will have no chance to resolve the remote storage blob endpoint.
271286

287+
- **Recommendation**: To debug this issue, you can try pinging your Azure Blob Storage URL from your SQL Server on Azure VM target and confirm if you have a connectivity problem. To solve this issue, you have to allow the Azure IP addresses configured in your DNS server. For more information, see [Troubleshoot Azure Private Endpoint connectivity problems](/azure/private-link/troubleshoot-private-endpoint-connectivity)
272288

273289
## Azure SQL Database limitations
274290

-147 KB
Loading

articles/dms/tutorial-sql-server-azure-sql-database-offline-ads.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ Before you begin the tutorial:
5757

5858
- If you're using Azure Database Migration Service for the first time, make sure that the Microsoft.DataMigration [resource provider is registered in your subscription](quickstart-create-data-migration-service-portal.md#register-the-resource-provider).
5959

60+
> [!NOTE]
61+
> Make sure to migrate the database schema from source to target by using the [SQL Server dacpac extension](/sql/azure-data-studio/extensions/sql-server-dacpac-extension) or the [SQL Database Projects extension](/sql/azure-data-studio/extensions/sql-database-project-extension) in Azure Data Studio before selecting the list of tables to migrate.
62+
>
63+
> If no tables exists on the Azure SQL Database target, or no tables are selected before starting the migration. The **Next** button isn't available to select to initiate the migration task.
64+
>
65+
6066
## Open the Migrate to Azure SQL wizard in Azure Data Studio
6167

6268
To open the Migrate to Azure SQL wizard:
@@ -165,6 +171,8 @@ To open the Migrate to Azure SQL wizard:
165171

166172
> [!NOTE]
167173
> If no tables are selected or if a username and password aren't entered, the **Next** button isn't available to select.
174+
>
175+
> Make sure to migrate the database schema from source to target by using the [SQL Server dacpac extension](/sql/azure-data-studio/extensions/sql-server-dacpac-extension) or the [SQL Database Projects extension](/sql/azure-data-studio/extensions/sql-database-project-extension) in Azure Data Studio before selecting the list of tables to migrate.
168176
169177
## Create a Database Migration Service instance
170178

0 commit comments

Comments
 (0)