Problemas conocidos, limitaciones y solución de problemas

En este artículo se proporciona una lista de problemas conocidos y pasos de solución de problemas asociados a la extensión Azure SQL Migration para Azure Data Studio.

Importante

La versión más reciente de Integration Runtime (5.28.8488) impide el acceso a un recurso compartido de archivos de red en un host local. Esta medida de seguridad provocará errores al realizar migraciones a Azure SQL mediante DMS. Asegúrese de ejecutar Integration Runtime en una máquina diferente a la de hospedaje del recurso compartido de red.

Código de error: 2007 - CutoverFailedOrCancelled

  • Mensaje: Cutover failed or cancelled for database <DatabaseName>. Error details: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' is not <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Causa: El error puede producirse debido a que las copias de seguridad se colocan incorrectamente en el contenedor de Azure Storage. Si las copias de seguridad se colocan en el recurso compartido de archivos de red, este error también puede producirse debido a problemas de conectividad de red.

  • Recomendación: asegúrese de que las copias de seguridad de la base de datos en el contenedor de Azure Storage son correctas. Si usa un recurso compartido de archivos de red, puede haber problemas relacionados con la red y retardos que provoquen este error. Espere a que se complete el proceso.

  • Mensaje: Cutover failed or cancelled for database '{databaseName}'. Error details: 'errorCode: Ext_RestoreSettingsError, message: RestoreId: {RestoreId}, OperationId: {operationId}, Detail: Failed to complete restore., RestoreJobState: Restoring, CompleteRestoreErrorMessage: The database contains incompatible physical layout. Too many full text catalog files.

  • Causa: la restauración de máquinas virtuales de SQL no admite actualmente la restauración de bases de datos con archivos de catálogo de texto completo, ya que la máquina virtual de Azure SQL no las admite en este momento.

  • Recomendación: quite archivos de catálogo de texto completo de la base de datos al crear la restauración

  • Mensaje: Cutover failed or cancelled for database '{databaseName}'. Error details: 'Migration cannot be completed because provided backup file name '{providedFileName}' should be the last restore backup file '{lastRestoredFileName}'.'

  • Causa: este error se produce debido a una limitación conocida en SqlMi. Significa que '{providedFileName}' es diferente de '{lastRestoredFileName}'. SqlMi restaurará automáticamente todos los archivos de copia de seguridad válidos del contenedor en función de la secuencia LSN. Un caso de error típico podría ser: '{providedFileName}' es "log1", pero los archivos del contenedor tienen otros archivos, como "log2", que tienen un número LSN mayor que "log1". En este caso, SqlMi restaurará automáticamente todos los archivos del contenedor. Al final de completar la migración, SqlMi notificará este mensaje de error.

  • Recomendación: para el modo de migración sin conexión, proporcione el valor "lastBackupName" con el LSN más grande. En el escenario de migración en línea, esta advertencia o error se puede omitir si el estado de la migración se realiza correctamente.

Código de error: 2009 - MigrationRestoreFailed

  • Mensaje: Migration for Database 'DatabaseName' failed with error cannot find server certificate with thumbprint.

  • Causa: El certificado de la instancia de SQL Server de origen de una base de datos protegida con Cifrado de datos transparente (TDE) no se ha migrado a la instancia de destino de Azure SQL Managed Instance o SQL Server en Azure Virtual Machines antes de migrar los datos.

  • Recomendación: migre el certificado TDE a la instancia de destino y vuelva a intentar el proceso. Para más información sobre la migración de bases de datos habilitadas para TDE, consulte Tutorial: Migración de bases de datos habilitadas para TDE (versión preliminar) a Azure SQL en Azure Data Studio.

  • Mensaje: 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.

  • Causa: no se puede restaurar una copia de seguridad de SQL Server a una versión de SQL Server anterior a la versión en la que se haya creado la copia de seguridad.

  • Recomendación: consulte Problemas que afectan a la restauración de la base de datos entre diferentes versiones de SQL Server para ver los pasos de solución de problemas.

  • Mensaje: Migration for Database <DatabaseName> failed with error 'The managed instance has reached its storage limit. The storage usage for the managed instance can't exceed 32768 MBs.

  • Causa: Azure SQL Managed Instance ha alcanzado sus límites de recursos.

  • Recomendación: Para más información sobre los límites de almacenamiento, consulte Introducción a los límites de recursos de Azure SQL Managed Instance.

  • Mensaje: Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3634 The operating system returned the error '1450(Insufficient system resources exist to complete the requested service.)

  • Causa: uno de los síntomas enumerados en los errores del sistema operativo 1450 y 665 notificados para los archivos de base de datos durante DBCC CHECKDB o la creación de instantáneas de base de datos puede ser la causa.

  • Recomendación: consulte Errores del sistema operativo 1450 y 665 notificados para los archivos de base de datos durante DBCC CHECKDB o la creación de instantáneas de base de datos para ver los pasos de solución de problemas.

  • Mensaje: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' isn't <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Causa: El error puede producirse debido a que las copias de seguridad se colocan incorrectamente en el contenedor de Azure Storage. Si las copias de seguridad se colocan en el recurso compartido de archivos de red, este error también puede producirse debido a problemas de conectividad de red.

  • Recomendación: asegúrese de que las copias de seguridad de la base de datos en el contenedor de Azure Storage son correctas. Si usa un recurso compartido de archivos de red, puede haber problemas relacionados con la red y retardos que provoquen este error. Espere hasta que se complete este proceso.

  • Mensaje: Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3234 Logical file <Name> isn't part of database <Database GUID>. Use RESTORE FILELISTONLY to list the logical file names. RESTORE DATABASE is terminating abnormally.'.

  • Causa: ha especificado un nombre de archivo lógico que no está en la copia de seguridad de la base de datos. Otra posible causa de este error es un nombre de contenedor incorrecto de la cuenta de almacenamiento.

  • Recomendación: ejecute RESTORE FILELISTONLY para comprobar los nombres de archivo lógicos de la copia de seguridad. Para más información sobre RESTORE FILELISTONLY, consulte Instrucciones RESTORE - FILELISTONLY (Transact-SQL).

  • Mensaje: Migration for Database <Database Name> failed with error 'Azure SQL target resource failed to connect to storage account. Make sure the target SQL VNet is allowed under the Azure Storage firewall rules.'

  • Causa: el firewall de Azure Storage no está configurado para permitir el acceso al destino de Azure SQL.

  • Recomendación: Para más información sobre la instalación del firewall de Azure Storage, consulte Configuración de redes virtuales y firewalls de Azure Storage.

  • Mensaje: Migration for Database <Database Name> failed with error 'There are backups from multiple databases in the container folder. Please make sure the container folder has backups from a single database.

  • Causa: las copias de seguridad de varias bases de datos se encuentran en la misma carpeta contenedora.

  • Recomendación: si migra varias bases de datos a Azure SQL Managed Instance con el mismo contenedor de Azure Blob Storage, debe colocar los archivos de copia de seguridad de las distintas bases de datos en carpetas independientes dentro del contenedor. Para más información sobre LRS, consulte Migración de bases de datos de SQL Server a SQL Managed Instance mediante el servicio de reproducción de registros (versión preliminar).

  • Mensaje: 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. RESTORE DATABASE is terminating abnormally.

  • Causa: La base de datos de origen es una base de datos independiente. Se necesita una configuración específica para permitir la restauración de una base de datos independiente. Para más información sobre las bases de datos independientes, consulte Usuarios de bases de datos independientes.

  • Recomendación: Ejecute la siguiente consulta conectada al servidor SQL Server de origen en el contexto de la base de datos específica antes de iniciar la migración. A continuación, vuelva a intentar la migración de la base de datos independiente.

    -- Enable "contained database authentication"
    EXEC sp_configure 'contained', 1;
    RECONFIGURE;
    

    Nota:

    Para más información sobre los pasos generales de solución de problemas para errores de Azure SQL Managed Instance, consulte Problemas conocidos con Azure SQL Managed Instance

Código de error: 2012 - TestConnectionFailed

  • Mensaje: Failed to test connections using provided Integration Runtime. Error details: 'Remote name could not be resolved.'

  • Causa: La configuración de red del firewall provoca que el entorno de ejecución de integración autohospedado no pueda conectarse al back-end del servicio.

  • Recomendación: hay un problema del Sistema de nombres de dominio (DNS). Póngase en contacto con su equipo de redes para solucionar el problema. Para más información, consulte Solución de problemas del entorno de ejecución de integración autohospedado.

  • Mensaje: Failed to test connections using provided Integration Runtime. 'Cannot connect to <File share>. Detail Message: The system could not find the environment option that was entered

  • Causa: el entorno de ejecución de integración autohospedado no se puede conectar al recurso compartido de archivos de red donde se ubican las copias de seguridad de la base de datos.

  • Recomendación: asegúrese de que el nombre del recurso compartido de archivos de red se ha escrito correctamente.

  • Mensaje: Failed to test connections using provided Integration Runtime. The file name does not conform to the naming rules by the data store. Illegal characters in path.

  • Causa: el entorno de ejecución de integración autohospedado no se puede conectar al recurso compartido de archivos de red donde se ubican las copias de seguridad de la base de datos.

  • Recomendación: asegúrese de que el nombre del recurso compartido de archivos de red se ha escrito correctamente.

  • Mensaje: Failed to test connections using provided Integration Runtime.

  • Causa: error en la conexión al entorno de ejecución de integración autohospedado.

  • Recomendación: consulte Solución de problemas de entorno de ejecución de integración autohospedado para ver los pasos generales de solución de problemas para errores de conectividad del entorno de ejecución de integración.

Código de error: 2014- IntegrationRuntimeIsNotOnline

Código de error: 2030: AzureSQLManagedInstanceNotReady

  • Mensaje: Azure SQL Managed Instance <Instance Name> isn't ready.

  • Causa: Azure SQL Managed Instance no en estado listo.

  • Recomendación: espere hasta que Azure SQL Managed Instance haya terminado de implementarse y esté listo y vuelva a intentar el proceso.

Código de error: 2033- SqlDataCopyFailed

  • Mensaje: Migration for Database <Database> failed in state <state>.

  • Causa: error en la canalización de ADF para el movimiento de datos.

  • Recomendación: compruebe la página MigrationStatusDetails para obtener información del error más detallada.

Código de error: 2038 - MigrationCompletedDuringCancel

  • Mensaje: Migration cannot be canceled as Migration was completed during the cancel process. Target server: <Target server> Target database: <Target database>.

  • Causa: se recibió una solicitud de cancelación, pero la migración se completó correctamente antes de que se completara la cancelación.

  • Recomendación: No se requiere ninguna acción. Migración realizada correctamente.

Código de error: 2039 - MigrationRetryNotAllowed

  • Mensaje: Migration isn't in a retriable state. Migration must be in state WaitForRetry. Current state: <State>, Target server: <Target Server>, Target database: <Target database>.

  • Causa: se recibió una solicitud de reintento cuando la migración no estaba en un estado que permite el reintento.

  • Recomendación: No se requiere ninguna acción. La migración está en curso o se ha completado.

Código de error: 2040 - MigrationTimeoutWaitingForRetry

  • Mensaje: Migration retry timeout limit of 8 hours reached. Target server: <Target Server>, Target database: <Target Database>.

  • Causa: La migración estuvo inactiva en un estado de error, pero recuperable, durante 8 horas y se canceló automáticamente.

  • Recomendación: no se requiere ninguna acción; se canceló la migración.

Código de error: 2041- DataCopyCompletedDuringCancel

  • Mensaje: Data copy finished successfully before canceling completed. Target schema is in bad state. Target server: <Target Server>, Target database: <Target Database>.

  • Causa: se recibió la solicitud de cancelación y la copia de datos se completó correctamente, pero el esquema de la base de datos de destino no se ha devuelto a su estado original.

  • Recomendación: Si quiere, la base de datos de destino se puede devolver a su estado original ejecutando la primera consulta y todas las consultas devueltas, ejecutando la segunda consulta y haciendo lo mismo.

    SELECT [ROLLBACK] FROM [dbo].[__migration_status]
    WHERE STEP in (3,4,6);
    
    SELECT [ROLLBACK] FROM [dbo].[__migration_status]
    WHERE STEP in (5,7,8) ORDER BY STEP DESC;
    

Código de error: 2042: PreCopyStepsCompletedDuringCancel

  • Mensaje: 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>.

  • Causa: se recibió la solicitud de cancelación y los pasos para preparar la base de datos de destino para la copia se completaron correctamente. El esquema de la base de datos de destino no se ha devuelto a su estado original.

  • Recomendación: Si quiere, la base de datos de destino se puede devolver a su estado original ejecutando la consulta siguiente y todas las consultas devueltas.

    SELECT [ROLLBACK] FROM [dbo].[__migration_status]
    WHERE STEP in (3,4,6);
    

Código de error: 2043- CreateContainerFailed

  • Mensaje: Create container <ContainerName> failed with error Error calling the endpoint '<URL>'. Response status code: 'NA - Unknown'. More details: Exception message: 'NA - Unknown [ClientSideException] Invalid Url:<URL>.

  • Causa: No se pudo realizar la solicitud debido a un problema subyacente (conectividad de red, error de DNS, validación del certificado de servidor o tiempo de espera).

  • Recomendación: Para más pasos de solución de problemas, consulte Solución de problemas de canalizaciones de Azure Data Factory y Synapse.

Código de error: 2049 - FileShareTestConnectionFailed

  • Mensaje: The value of the property '' is invalid: 'Access to <share path> is denied, resolved IP address is <IP address>, network type is OnPremise'.

  • Causa: El recurso compartido de red donde se almacenan las copias de seguridad de la base de datos está en la misma máquina que el entorno de ejecución de integración autohospedado (SHIR).

  • Recomendación: La versión más reciente de Integration Runtime (5.28.8488) impide el acceso a un recurso compartido de archivos de red en un host local. Asegúrese de ejecutar Integration Runtime en otra máquina que no sea la que hospeda el recurso compartido de red. Si no se puede hospedar el entorno de ejecución de integración autohospedado y el recurso compartido de red en otras máquinas con la configuración de migración actual, puede usar la opción para rechazar el uso de DisableLocalFolderPathValidation.

    Nota:

    Para más información, consulte Configuración de un entorno de ejecución de integración autohospedado existente a través de PowerShell local. Use la opción de deshabilitación con discreción, ya que es menos segura.

Código de error: 2056 - SqlInfoValidationFailed

  • Mensaje: CollationMismatch: Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.

  • Causa: La intercalación de la base de datos de origen no es la misma que la intercalación de la base de datos de destino.

  • Recomendación: Asegúrese de cambiar la intercalación de Azure SQL Database de destino a la misma que la base de datos de SQL Server de origen. Azure SQL Database usa de forma predeterminada la intercalación SQL_Latin1_General_CP1_CI_AS; en caso de que la base de datos de SQL Server de origen use otra intercalación, es posible que tenga que volver a crear o seleccionar una base de datos de destino diferente cuya intercalación coincida. Para más información, consulte Compatibilidad con intercalación y Unicode.

  • Mensaje: TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.

  • Causa: la intercalación de la columna de la tabla de base de datos de origen no es la misma que la intercalación de la columna de la tabla de base de datos de destino.

  • Recomendación:

    1. Asegúrese de migrar el esquema a Azure SQL Database de destino mediante Database Migration Service. Consulte el blog.
    2. Siga este artículo para cambiar manualmente la intercalación. Para más información, consulte Compatibilidad con intercalación y Unicode.
  • Mensaje: DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.

  • Causa: Las tablas seleccionadas para la migración no existen en Azure SQL Database de destino.

  • Recomendación: Asegúrese de que el esquema de la base de datos de destino se haya creado antes de iniciar la migración. Para más información sobre cómo implementar el esquema de base de datos de destino, consulte Extensión SQL Database Projects.

  • Mensaje: DatabaseSizeMoreThanMax: The source database size <Source Database Size> exceeds the maximum allowed size of the target database <Target Database Size>. Check if the target database has enough space.

  • Causa: La base de datos de destino no tiene espacio suficiente.

  • Recomendación: Asegúrese de que el esquema de la base de datos de destino se haya creado antes de iniciar la migración. Para más información sobre cómo implementar el esquema de base de datos de destino, consulte Extensión SQL Database Projects.

  • Mensaje: NoTablesFound: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Causa: Las tablas seleccionadas para la migración no existen en Azure SQL Database de destino.

  • Recomendación: Compruebe si existen las tablas seleccionadas en la instancia de Azure SQL Database de destino. Si se llama a esta migración desde un script de PowerShell, compruebe que el parámetro table list incluya los nombres de tabla correctos y se pase a la migración.

  • Mensaje: SqlVersionOutOfRange: Source instance version is lower than 2008, which is not supported to migrate. Source instance: <InstanceName>.

  • Causa: Azure Database Migration Service no admite la migración desde instancias de SQL Server inferiores a 2008.

  • Recomendación: Actualice la instancia de SQL Server de origen a una versión más reciente de SQL Server. Para más información, consulte Actualización de SQL Server.

  • Mensaje: TableMappingMismatch: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Causa: Las tablas seleccionadas para la migración no existen en Azure SQL Database de destino.

  • Recomendación: Compruebe si existen las tablas seleccionadas en la instancia de Azure SQL Database de destino. Si se llama a esta migración desde un script de PowerShell, compruebe que el parámetro table list incluya los nombres de tabla correctos y se pase a la migración.

Código de error: 2060 - SqlSchemaCopyFailed

  • Mensaje: The SELECT permission was denied on the object 'sql_logins', database 'master', schema 'sys'.

  • Causa: La cuenta que usan los clientes para conectar Azure SQL Database carecen del permiso para acceder a la tabla sys.sql_logins.

  • Recomendación: Hay dos maneras de mitigar el problema:

    1. Agregue el rol "sysadmin" a la cuenta, que concede el permiso de administrador.

    2. Si los clientes no pueden usar la cuenta sysadmin o no pueden conceder el permiso sysadmin a la cuenta, el permiso mínimo del servidor SQL Server de origen necesario es "db_owner". Además, en la instancia de Azure SQL Database de destino, cree un usuario en el maestro y concédale los roles fijos de servidor ##MS_DatabaseManager##,#MS_DatabaseConnector##, ##MS_DefinitionReader## y ##MS_LoginManager##. Por ejemplo,

      -- Run the script in the master
      -- Please run the script on Master database
      CREATE LOGIN testuser with Password = '*********';
      ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser]; 
       GO
      ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser]; 
       GO
      ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser]; 
       GO
      ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser]; 
       GO
      CREATE USER testuser from login testuser;
      EXEC sp_addRoleMember 'dbmanager', 'testuser';
      EXEC sp_addRoleMember 'loginmanager', 'testuser';
      
  • Mensaje: Failed to get service token from ADF service.

  • Causa: El SHIR del cliente no puede conectarse a la factoría de datos.

  • Recomendación: Este es el documento de ejemplo para resolverlo: Integration Runtime: No se puede conectar con Data Factory.

  • Mensaje: IR Nodes are offline.

  • Causa: La causa podría ser que la red se interrumpe durante la migración y, por tanto, el nodo IR pasa a estar sin conexión. Asegúrese de que la máquina en la que está instalado SHIR esté activada.

  • Recomendación: Asegúrese de que la máquina en la que está instalado SHIR esté activada.

  • Mensaje: Deployed failure: {0}. Object element: {1}.

  • Causa: Este es el error más común con que pueden encontrarse los clientes. Significa que el objeto no se puede implementar en el destino porque no se admite en el destino.

  • Recomendación: Los clientes deben comprobar los resultados de la evaluación (Reglas de evaluación). Esta es la lista de problemas de evaluación que podrían producir un error en la migración del esquema:

    BULK INSERT

    Cláusula COMPUTE

    Proveedor de servicios criptográficos

    Referencias entre bases de datos

    Alias de entidad de seguridad de base de datos

    Opción DISABLE_DEF_CNST_CHK

    Sugerencia FASTFIRSTROW

    FILESTREAM

    MS DTC

    OPENROWSET (masivo)

    OPENROWSET (proveedor)

    Nota:

    Para ver los detalles del error, abra el administrador de configuración de Microsoft Integration Runtime y vaya a Diagnóstico > Registro >Ver registros. En el Visor de eventos, vaya a Registros de aplicaciones y servicios > Conectores - Entorno de ejecución de integración y filtre los errores.

  • Mensaje: Deployed failure: Index cannot be created on computed column '{0}' of table '{1}' because the underlying object '{2}' has a different owner. Object element: {3}.

    Script de ejemplo generado: IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[Sales].[Customer]') AND name = N'AK_Customer_AccountNumber') CREATE UNIQUE NONCLUSTERED INDEX [AK_Customer_AccountNumber] ON [Sales].[Customer] ( [AccountNumber] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

  • Causa: Todas las referencias a funciones de la columna calculada deben tener el mismo propietario que la tabla.

  • Recomendación: Consulte Requisitos de propiedad.

Código de error: Ext_RestoreSettingsError

  • Mensaje: Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.; The remote server returned an error: (403) Forbidden

  • Causa: El destino de Azure SQL no puede conectarse a Blob Storage.

  • Recomendación: Confirme que la configuración de red de destino permite el acceso a Blob Storage. Por ejemplo, si va a migrar a una instancia de SQL Server en un destino de máquina virtual de Azure, asegúrese de que no se bloquean las conexiones salientes en la máquina virtual.

  • Mensaje: Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.

  • Causa: El destino de Azure SQL no puede conectarse a Blob Storage.

  • Recomendación: Confirme que la configuración de red de destino permite el acceso a Blob Storage. Por ejemplo, si se migra a una máquina virtual con SQL, asegúrese de que no se bloquean las conexiones salientes en la máquina virtual.

  • Mensaje: 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>'.

  • Causa: La copia de seguridad más reciente no se especificó en la configuración de copia de seguridad.

  • Recomendación: Especifique el nombre del archivo de copia de seguridad más reciente en la configuración de copia de seguridad y vuelva a intentar la operación.

  • Mensaje: 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.

  • Causa: El error se puede producir en las cuentas de almacenamiento con la configuración de red pública y del punto de conexión privado. También es posible que tenga un servidor DNS local que controle un enrutamiento de red híbrida y DHCP. A menos que permita las direcciones IP de Azure configuradas en el servidor DNS, el destino de SQL Server en la máquina virtual de Azure no tiene posibilidad de resolver el punto de conexión de Blob Storage remoto.

  • Recomendación: Para depurar este problema, puede intentar hacer ping a la dirección URL de Azure Blob Storage desde el destino de SQL Server en la máquina virtual de Azure y confirmar si tiene un problema de conectividad. Para solucionar este problema, debe permitir las direcciones IP de Azure configuradas en el servidor DNS. Para más información, consulte Solución de problemas de conectividad de puntos de conexión privados de Azure.

Reglas de nomenclatura de Azure Database Migration Service

Si se produjo un error en el servicio DMS con el mensaje "Error: el nombre del servicio "x_y_z" no es válido, debe seguir las reglas de nomenclatura de Azure Database Migration Service. Como Azure Database Migration Service usa Azure Data Factory para su proceso, sigue exactamente las mismas reglas de nomenclatura que se mencionan aquí.

Limitaciones de Azure SQL Database

La migración a Azure SQL Database mediante la extensión de Azure SQL para Azure Data Studio tiene las siguientes limitaciones:

La migración sin conexión de Azure SQL Database emplea canalizaciones de Azure Data Factory (ADF) para el movimiento de datos y, por tanto, respeta las limitaciones de ADF. También se crea una instancia de ADF correspondiente cuando se crea un servicio de migración de base de datos. Por lo tanto, se aplican límites de fábrica por servicio.

  • La máquina donde se instala SHIR actúa como proceso de la migración. Asegúrese de que esta máquina pueda administrar la carga de CPU y memoria de la copia de datos. Para más información, revise Recomendaciones de SHIR.
  • Límite de 100 000 tablas por base de datos.
  • Límite de 10 000 migraciones simultáneas de bases de datos por servicio.
  • La velocidad de migración depende en gran medida del SKU de Azure SQL Database de destino y del host de entorno de ejecución de integración autohospedado.
  • La migración de Azure SQL Database se escala de forma deficiente con números de tabla debido a la sobrecarga de ADF en las actividades de inicio. Si una base de datos tiene miles de tablas, el proceso de inicio de cada tabla puede tardar un par de segundos, aunque estén compuestas por una fila con 1 bit de datos.
  • Los nombres de tabla de Azure SQL Database con caracteres de doble byte no se admiten actualmente para la migración. La mitigación consiste en cambiar el nombre de las tablas antes de la migración; se pueden volver a cambiar a sus nombres originales después de una migración correcta.
  • Es posible que las tablas con columnas de blob grandes no se migren debido al tiempo de espera.
  • Los nombres de base de datos con SQL Server reservado no se admiten actualmente.
  • Los nombres de tabla que incluyen punto y coma no se admiten actualmente.
  • Las columnas calculadas no se migran.

Limitaciones de Azure SQL Managed Instance

La migración a Azure SQL Managed Instance mediante la extensión de Azure SQL para Azure Data Studio tiene las siguientes limitaciones:

  • Si se migra una base de datos, las copias de seguridad de la base de datos deben colocarse en una estructura de archivos planos dentro de una carpeta de base de datos (incluida la carpeta raíz del contenedor) y las carpetas no se pueden anidar, ya que no se admite.
  • Si migra varias bases de datos con el mismo contenedor de Azure Blob Storage, debe colocar los archivos de copia de seguridad de las distintas bases de datos en carpetas independientes dentro del contenedor.
  • No se admite la sobrescritura de bases de datos con DMS en la instancia de destino de Azure SQL Managed Instance.
  • DMS no admite la configuración de alta disponibilidad y recuperación ante desastres en el destino para que coincida con la topología de origen.
  • No se admiten los siguientes objetos de servidor:
    • trabajos del Agente SQL Server
    • Credenciales
    • Paquetes SSIS
    • Auditoría de servidor
  • Para las migraciones de base de datos con DMS, no se puede usar un entorno de ejecución de integración autohospedado que se haya creado con Azure Data Factory. Inicialmente, el entorno de ejecución de integración autohospedado debe crearse con la extensión Azure SQL Migration en Azure Data Studio. Después, se puede reutilizar para otras migraciones de bases de datos.
  • Un solo trabajo LRS (creado por DMS) se puede ejecutar durante un máximo de 30 días. Cuando expira este período, el trabajo se cancela automáticamente, por lo que la base de datos de destino se elimina automáticamente.
  • Si recibió el siguiente error: Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance. Esta incidencia es por diseño, Hekaton () también conocido como OLTP en memoria de SQL Server) no se admite en el nivel Uso general de Azure SQL Managed Instance. Para continuar la migración, una manera es actualizar a nivel Crítico para la empresa, que admite Hekaton. Otra forma es asegurarse de que la base de datos de origen no la use mientras Azure SQL Managed Instance es de uso general.

Limitaciones de SQL Server en máquinas virtuales de Azure

La migración a SQL Server en máquinas virtuales de Azure mediante la extensión de Azure SQL para Azure Data Studio tiene las siguientes limitaciones:

  • Si se migra una base de datos única, las copias de seguridad de la base de datos deben colocarse en una estructura de archivos planos dentro de una carpeta de base de datos (incluida la carpeta raíz del contenedor), y las carpetas no se pueden anidar, ya que no se admite.
  • Si migra varias bases de datos con el mismo contenedor de Azure Blob Storage, debe colocar los archivos de copia de seguridad de las distintas bases de datos en carpetas independientes dentro del contenedor.
  • No se admite la sobrescritura de bases de datos existentes con DMS en la instancia de SQL Server de destino en Azure Virtual Machines.
  • DMS no admite la configuración de alta disponibilidad y recuperación ante desastres en el destino para que coincida con la topología de origen.
  • No se admiten los siguientes objetos de servidor:
    • trabajos del Agente SQL Server
    • Credenciales
    • Paquetes SSIS
    • Auditoría de servidor
  • Para las migraciones de base de datos con DMS, no se puede usar un entorno de ejecución de integración autohospedado que se haya creado con Azure Data Factory. Inicialmente, el entorno de ejecución de integración autohospedado debe crearse con la extensión Azure SQL Migration en Azure Data Studio. Después, se puede reutilizar para otras migraciones de bases de datos.
  • No se admiten máquinas virtuales con SQL Server 2008 y versiones anteriores como versiones de destino al migrar a SQL Server en Azure Virtual Machines.
  • Si usa una máquina virtual con SQL Server 2012 o SQL Server 2014, debe almacenar los archivos de copia de seguridad de la base de datos de origen en un contenedor de Azure Storage Blob en lugar de usar la opción de recurso compartido de red. Almacene los archivos de copia de seguridad como blobs en páginas, ya que los blobs en bloques solo se admiten en SQL 2016 y versiones posteriores.
  • Debe asegurarse de que la extensión de agente IaaS de SQL en la máquina virtual de Azure de destino está en modo completo en lugar de modo ligero.
  • La extensión del agente de IaaS de SQL solo permite administrar instancias de servidor predeterminadas o instancias con nombre únicas.
  • El número de bases de datos que puede migrar a una máquina virtual de Azure de SQL Server depende de la especificación del hardware y de la carga de trabajo, pero no existe ningún límite obligatorio. Sin embargo, cada operación de migración (iniciar la migración, transición) para cada base de datos tardará unos minutos secuencialmente. Por ejemplo, para migrar 100 bases de datos, puede tardar unos 200 (2 x 100) minutos en crear la(s) cola(s) de migración y unos 100 (1 x 100) minutos en cambiar las 100 bases de datos (sin contar los tiempos de copia de seguridad y restauración). Por tanto, la migración será más lenta a medida que aumenta el número de bases de datos. Microsoft aconseja programar de antemano una ventana de migración más larga en función de las rigurosas pruebas de migración o crear particiones de un gran número de bases de datos en lotes al migrarlas a una máquina virtual de Azure de SQL Server.
  • Además de configurar las redes o el firewall de la cuenta de almacenamiento para permitir que la VM acceda a los archivos de copia de seguridad, también debe configurar las redes o el firewall de SQL Server en VM de Azure para permitir la conexión saliente a la cuenta de almacenamiento.
  • Debe mantener encendido SQL Server en VM de Azure de destino mientras la migración de SQL está en curso. Además, al crear una nueva migración, conmute por error o cancele la migración.
  • Error: Login failed for user 'NT Service\SQLIaaSExtensionQuery. Motivo: La instancia de SQL Server está en modo de usuario único. Un posible motivo es que SQL Server en VM de Azure de destino esté en modo de actualización. Solución: Espere a que SQL Server en VM de Azure de destino salga del modo de actualización y vuelva a iniciar la migración.
  • Error: Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists. Solución: Conéctese a SQL Server en VM de Azure de destino y elimine el archivo XXX.mdf. A continuación, vuelva a iniciar la migración.

Limitaciones de Azure Data Studio

No se pudo iniciar SQL Migration Service: Error: Error de solicitud:

  • Mensaje: Error at ClientRequest.<anonymous> (c:\Users\MyUser\.azuredatastudio\extensions\microsoft.sql-migration-1.4.2\dist\main.js:2:7448) at ClientRequest.emit (node:events:538:35) at TLSSocket.socketOnEnd (node:_http_client:466:9) at TLSSocket.emit (node:events:538:35) at endReadableNT (node:internal/streams/readable:1345:12) at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

  • Causa: Este problema se produce cuando Azure Data Studio no puede descargar el paquete MigrationService desde https://github.com/microsoft/sqltoolsservice/releases. El error de descarga puede deberse a la configuración de proxy sin resolver o al trabajo de red desconectado.

  • Recomendación: La forma más segura de resolver este problema es descargar el paquete manualmente. Siga los pasos de mitigación descritos en este vínculo: https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891