Todos los productos
Search
Centro de documentos

ApsaraDB RDS:Migrate on-premises SQL Server to RDS SQL Server

Última actualización: Oct 12, 2026

Este tema explica cómo migrar una base de datos SQL Server autogestionada a Alibaba Cloud RDS SQL Server mediante la consola de Data Transmission Service (DTS). Puede combinar la migración de esquemas, la migración completa de datos y la migración incremental de datos para lograr una migración de base de datos sin tiempo de inactividad.

Requisitos previos

Cree una target RDS for SQL Server instance con un espacio de almacenamiento mayor que el de la base de datos de origen. Si el espacio de almacenamiento es insuficiente, increase the storage space of the instance por adelantado.

Precauciones

Revise estas precauciones clave antes de la migración. Ignorarlas puede provocar errores o fallos en la tarea:

  • Límite de cantidad de bases de datos: una sola tarea de migración admite un máximo de 10 bases de datos. Superar este límite introduce riesgos de estabilidad y rendimiento.

  • Límite de cantidad de tablas: cuando una tarea incluye migración incremental, la base de datos de origen no puede contener más de 1,000 tablas. Exceder este límite puede causar retrasos o inestabilidad en la tarea.

  • Restricciones de operación en la base de datos de origen: durante las fases de migración de esquemas y migración completa, no ejecute operaciones DDL en el esquema de la base de datos ni en el de las tablas. De lo contrario, la tarea de migración fallará.

  • Requisitos del esquema de tabla: las tablas migradas deben tener una clave primaria o una restricción única, y todos los nombres de columna deben ser únicos. De lo contrario, pueden generarse datos duplicados en la base de datos de destino.

  • Claves externas y desencadenadores: en las tareas que incluyen migración incremental, debe deshabilitar todos los desencadenadores y claves externas activos en la base de datos de destino para evitar fallos en la tarea o pérdida de datos.

  • Convenciones de nomenclatura de bases de datos: si el nombre de una base de datos que se va a migrar no cumple con las convenciones de nomenclatura de RDS for SQL Server, debe manually create the database en RDS for SQL Server por adelantado. De lo contrario, es posible que la tarea no se ejecute correctamente.

  • Periodo de retención del registro de transacciones: para las tareas de migración incremental, los registros de transacciones de la base de datos de origen deben conservarse durante más de 24 horas. En las tareas que incluyen migración completa e incremental, los registros de transacciones deben conservarse como mínimo 7 días. De lo contrario, la tarea podría fallar o producirse inconsistencias en los datos.

Haga clic en para expandir y ver todos los límites y precauciones

Restricciones de la base de datos de origen

  • Requisitos de ancho de banda

    El servidor de la base de datos de origen debe contar con suficiente ancho de banda de salida para evitar velocidades de migración lentas.

  • Requisitos del esquema de tabla

    Las tablas migradas deben tener una clave primaria o una restricción única, y todos los nombres de columna deben ser únicos. De lo contrario, pueden generarse datos duplicados en la base de datos de destino.

  • Límites de cantidad de migraciones

    • Para las migraciones a nivel de tabla que implican editar asignaciones de columnas, una sola tarea admite un máximo de 1,000 tablas. Si supera este límite, deberá dividir la migración en varias tareas. De lo contrario, la solicitud fallará.

    • Límite de cantidad de bases de datos: una sola tarea admite un máximo de 10 bases de datos. Superar este límite puede causar problemas de estabilidad y rendimiento.

  • Requisitos de registro para la migración incremental

    • Los registros de transacciones deben estar habilitados, el recovery model must be set to FULL, and a relevant backup must have been performed.

    • Periodo de retención del registro de transacciones: para las tareas de migración incremental, los registros de transacciones de la base de datos de origen deben conservarse durante más de 24 horas. En las tareas que incluyen migración completa e incremental, los registros de transacciones deben conservarse como mínimo 7 días. De lo contrario, la tarea podría fallar o producirse inconsistencias en los datos.

      Importante

      Si surgen problemas porque el periodo de retención del registro de transacciones que configuró es menor que el requerido por DTS, estos problemas no están cubiertos por el SLA (Acuerdo de Nivel de Servicio) de DTS.

  • Condiciones para habilitar CDC

    Si necesita habilitar Change Data Capture (CDC) para las tablas de la base de datos de origen, se deben cumplir las siguientes condiciones. De lo contrario, la comprobación previa fallará:

    • El valor del campo srvname en la vista sys.sysservers debe coincidir con el valor devuelto por la función SERVERPROPERTY.

    • Si la base de datos de origen es un SQL Server autoalojado, el propietario de la base de datos debe ser sa.

    • Requisitos de versión de la base de datos de origen:

      • Enterprise Edition: 2008 o posterior.

      • Standard Edition: 2016 SP1 o posterior.

      • SQL Server 2017 (ediciones Standard y Enterprise): se recomienda actualizarlo.

  • Tiempo de limpieza de registros

    DTS usa la función fn_log para obtener los registros de la base de datos de origen. Esta función presenta cuellos de botella de rendimiento. No elimine los registros de la base de datos de origen antes de tiempo. De lo contrario, la tarea podría fallar.

Otras restricciones

  • Tipos de datos no compatibles

    No se admite la migración de los tipos de datos CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY y GEOGRAPHY.

  • Otras restricciones sobre la migración incremental

    • No se admite la reconstrucción de índices. De lo contrario, la tarea podría fallar o producirse pérdida de datos. Para las tablas con CDC habilitado, no se admiten cambios relacionados con la clave primaria.

    • Si una sola tarea incluye más de 1,000 tablas con CDC habilitado, la comprobación previa fallará.

    • Si una instancia incluye una tarea incremental y los datos escritos en un solo campo de una tabla con CDC habilitado superan los 64 KB, debe ejecutar el comando exec sp_configure 'max text repl size', -1; por adelantado para ajustar la configuración de la base de datos de origen. De forma predeterminada, el tamaño máximo de un solo campo que un trabajo de CDC puede procesar es de 64 KB.

  • Restricciones de la base de datos de destino

    Para la migración incremental, debe deshabilitar los desencadenadores y las claves externas activos en la base de datos de destino. De lo contrario, la tarea fallará.

  • Varias instancias de migración

    Si varias instancias de migración usan la misma base de datos SQL Server como origen, sus módulos de recopilación de datos incrementales son independientes entre sí.

  • Recuperación de instancias

    • Si una instancia falla, el soporte técnico de DTS intentará recuperarla en un plazo de 8 horas.

    • Durante la recuperación, es posible que se reinicie la instancia o que se ajusten sus parámetros. Tenga en cuenta que solo se modifican los parámetros de la instancia, no los de la base de datos.

Precauciones

  • Precauciones para las fases de migración de esquemas y migración completa

    • Restricciones de operaciones DDL: no ejecute operaciones DDL que cambien el esquema de la base de datos o de las tablas durante las fases de migración de esquemas y migración completa. De lo contrario, la tarea de migración de datos fallará.

    • Restricciones de instancias de solo lectura: si la base de datos de origen está en una instancia de solo lectura, no se pueden migrar las operaciones DDL.

    • Restricciones de DDL en el modo de análisis híbrido de registros: la base de datos de origen no admite ejecutar varias operaciones consecutivas de agregar o eliminar columnas (con un intervalo menor a 10 minutos). Por ejemplo, ejecutar las siguientes instrucciones SQL de manera sucesiva provocará un error en la tarea:

      ALTER TABLE test_table DROP COLUMN Flag;
      ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • Migración entre versiones

    Si va a realizar una migración entre versiones, compruebe la compatibilidad por adelantado.

  • Operaciones que DTS realiza en la base de datos de origen

    • En el modo "Analizar registros de la base de datos de origen para sincronización incremental": DTS crea el desencadenador dts_cdc_sync_ddl, la tabla de latidos dts_sync_progress y la tabla de almacenamiento DDL dts_cdc_ddl_history en la base de datos de origen.

    • En el modo "Sincronización incremental híbrida": DTS crea el desencadenador dts_cdc_sync_ddl, la tabla de latidos dts_sync_progress y la tabla de almacenamiento DDL dts_cdc_ddl_history en la base de datos de origen. También habilita CDC a nivel de base de datos y CDC para algunas tablas. Se recomienda que la tasa de cambio de datos de las tablas con CDC habilitado en el origen no supere los 1,000 RPS.

  • Consistencia de datos y estabilidad de la migración

    • Consistencia de datos durante la migración completa: si solo realiza una migración completa de datos, no escriba datos nuevos en la instancia de origen. De lo contrario, los datos serán inconsistentes entre el origen y el destino. Para mantener la consistencia en tiempo real, seleccione la migración de esquemas, la migración completa de datos y la migración incremental de datos.

    • Se recomienda habilitar el parámetro de modo de procesamiento de transacciones READ_COMMITTED_SNAPSHOT para la base de datos de origen durante una tarea de migración completa de datos. Esto evita que los bloqueos compartidos afecten la escritura de datos. De lo contrario, pueden producirse anomalías como inconsistencia de datos o fallos en la instancia. Las anomalías causadas por este problema no están cubiertas por el SLA de DTS.

    • Mecanismo de recuperación de tareas: DTS intenta recuperar las tareas de migración que han fallado en los últimos siete días. Por lo tanto, antes de cambiar su negocio a la instancia de destino, debe finalizar o liberar la tarea, o usar el comando REVOKE para revocar los permisos de escritura de la cuenta de DTS utilizada para acceder a la instancia de destino. Esto evita que los datos de origen sobrescriban los datos de destino si la tarea se recupera automáticamente.

  • Consideraciones de rendimiento y recursos

    • Evaluación previa a la migración: evalúe el rendimiento de las bases de datos de origen y de destino antes de la migración. Ejecute la migración durante las horas de menor actividad.

    • Uso de recursos durante la migración: durante una migración completa, DTS consume recursos de lectura y escritura tanto en la base de datos de origen como en la de destino, lo que puede aumentar la carga de la base de datos.

    • Cambio en el espacio de almacenamiento después de la migración: una vez finalizada la migración completa, el espacio de almacenamiento de las tablas de la base de datos de destino puede ser mayor que el de la base de datos de origen, ya que las operaciones INSERT concurrentes aumentan la fragmentación.

  • Precisión de las columnas FLOAT y DOUBLE

    Confirme si la precisión de migración para las columnas de tipo de datos FLOAT o DOUBLE cumple con los requisitos de su negocio. DTS lee los valores de estas columnas mediante ROUND(COLUMN,PRECISION). Si la precisión no se define explícitamente, DTS migra las columnas FLOAT con una precisión de 38 y las columnas DOUBLE con una precisión de 308.

  • Convenciones de nomenclatura de bases de datos

    Si el nombre de una base de datos que se va a migrar no cumple con las convenciones de nomenclatura de RDS for SQL Server, debe manually create the database en RDS for SQL Server por adelantado. De lo contrario, es posible que la tarea no se ejecute correctamente.

Facturación

Tipo de migración

Cargo por configuración de la instancia

Cargo por tráfico de Internet

Migración de esquemas y migración completa de datos

Sin cargo.

Cuando el parámetro Access Method de la base de datos de destino se establece en Public IP Address, se le cobra por el tráfico de Internet. Para obtener más información, consulte Billing overview.

Migración incremental de datos

Con cargo. Para obtener más información, consulte Billing overview.

Permisos de cuentas de base de datos

Para completar la migración de datos, asegúrese de que las cuentas de las bases de datos de origen y de destino tengan los siguientes permisos:

Nota

Base de datos

Migración de esquemas

Migración completa

Migración incremental

Base de datos SQL Server autogestionada

Permiso SELECT

Permiso SELECT

sysadmin

Instancia de RDS SQL Server

Permisos de lectura y escritura

Requisitos previos

Para realizar una migración incremental, prepare su base de datos SQL Server autogestionada antes de configurar la tarea de migración de datos. Establezca el modelo de recuperación de la base de datos de destino en completo para asegurar que el registro de transacciones registre todos los cambios. Luego, cree una copia de seguridad lógica completa y una copia de seguridad incremental de registros. Estas copias de seguridad son obligatorias para la migración de datos.

Importante

Si va a migrar varias bases de datos, debe repetir los pasos del 1 al 3 para cada base de datos. De lo contrario, puede producirse inconsistencia de datos.

  1. Ejecute el siguiente comando en su base de datos SQL Server autogestionada para cambiar el modelo de recuperación de la base de datos a completo.

    use master;
    GO
    ALTER DATABASE <database_to_migrate> SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO

    Por ejemplo:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. Cree una copia de seguridad lógica de la base de datos ejecutando el siguiente comando. Puede omitir este paso si ya cuenta con una copia de seguridad lógica reciente.

    BACKUP DATABASE <database_to_migrate> TO DISK='<path_and_filename_for_backup_file>';
    GO

    Por ejemplo:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. Realice una copia de seguridad del registro de transacciones de la base de datos ejecutando el siguiente comando.

    BACKUP LOG <database_to_migrate> to DISK='<path_and_filename_for_backup_file>' WITH init;
    GO

    Por ejemplo:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO

Procedimiento

  1. Vaya a la consola de Data Transmission Service (DTS).

  2. En el panel de navegación izquierdo, haga clic en Data Migration y luego seleccione una región en la parte superior de la página.

  3. Haga clic en Create Task y configure las bases de datos de origen y de destino.

    Categoría

    Configuración

    Descripción

    N/A

    Task Name

    Introduzca un nombre descriptivo que le ayude a identificar la tarea más adelante. El nombre no tiene que ser único. También puede conservar el nombre generado por el sistema.

    Source database information

    Select Existing Connection

    Si guardó previamente la conexión de la base de datos de origen en la página DTS Data Connection Management, selecciónela aquí para evitar introducir los detalles nuevamente.

    Database Type

    Seleccione SQL Server.

    Access Method

    Seleccione Public IP Address.

    Nota

    Si selecciona una base de datos autoalojada, también debe completar la configuración preparations obligatoria.

    Instance Region

    Seleccione la región donde se encuentra su base de datos SQL Server autoalojada.

    Hostname or IP address

    Introduzca la dirección de acceso de la base de datos SQL Server autoalojada. En este ejemplo, introduzca una dirección pública.

    Port

    Introduzca el puerto de servicio de la base de datos SQL Server autoalojada. El puerto predeterminado es 1433.

    Database Account

    Introduzca la cuenta de la base de datos para su instancia SQL Server autoalojada. Para obtener más información sobre los requisitos de permisos, consulte Permission requirements for database accounts.

    Database Password

    Introduzca la contraseña de la cuenta de la base de datos.

    Encryption

    • Si el cifrado SSL no está habilitado en la base de datos de origen, seleccione Non-encrypted.

    • Si el cifrado SSL está habilitado en la base de datos de origen, seleccione SSL-encrypted. DTS confía en el certificado del servidor de forma predeterminada.

    Destination database information

    Select Existing Connection

    Si guardó previamente la conexión de la base de datos de destino en la página DTS Data Connection Management, selecciónela aquí para evitar introducir los detalles nuevamente.

    Database Type

    Seleccione SQL Server.

    Access Method

    Seleccione Cloud instance.

    Instance Region

    Seleccione la región de la instancia de destino de RDS SQL Server.

    Instance ID

    Seleccione el identificador de la instancia de destino de RDS SQL Server.

    Database Account

    Introduzca la cuenta de la base de datos para la instancia de destino de RDS SQL Server. Para obtener más información sobre los requisitos de permisos, consulte Permission requirements for database accounts.

    Database Password

    Introduzca la contraseña de la cuenta de la base de datos.

    Encryption

    • Si el cifrado SSL no está habilitado en la base de datos de destino, seleccione Non-encrypted.

    • Si el cifrado SSL está habilitado en la base de datos de destino, seleccione SSL-encrypted. DTS confía en el certificado del servidor de forma predeterminada.

  4. Una vez completada la configuración, haga clic en Test Connectivity and Proceed. En el cuadro de diálogo CIDR Blocks of DTS Servers, haga clic en Test Connectivity.

    Importante

    Asegúrese de haber agregado IP address ranges of DTS servers a la configuración de seguridad de la base de datos de origen para permitir el acceso desde DTS.

  5. Configure los objetos de la tarea.

    1. En la página Configure Objects, configure los objetos que desea migrar.

      Configuración

      Descripción

      Migration Types

      • Para una migración completa, seleccione Schema Migration y Full Data Migration.

      • Para una migración sin tiempo de inactividad, seleccione Schema Migration, Full Data Migration y Incremental Data Migration.

      Nota
      • Para obtener más información, consulte Appendix 1: SQL operations supported by incremental migration y Appendix 2: Objects supported by schema migration.

      • Si no selecciona Schema Migration, asegúrese de que la base de datos de destino ya cuente con las bases de datos y tablas necesarias. Si es necesario, utilice el cuadro Selected Objects para asignar los nombres de esquemas, tablas y columnas.

      • Si no selecciona Incremental Data Migration, no escriba datos nuevos en la instancia de origen durante la migración de datos para garantizar la consistencia de los datos.

      Method to Migrate Triggers in Source Database

      Seleccione un método de migración de triggers. Puede omitir esta configuración si la migración no involucra triggers. Para obtener más información, consulte Configure how to synchronize or migrate triggers.

      Nota

      Esta opción solo está disponible cuando se seleccionan Migration Types y Schema Migration para Incremental Data Migration.

      SQL Server Incremental Synchronization Mode

      • Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing)

        Límites

        • La migración incremental de DTS depende del componente CDC. Asegúrese de que el trabajo de CDC en la base de datos de origen se ejecute correctamente. De lo contrario, la tarea fallará.

        • De forma predeterminada, los datos incrementales de CDC se conservan durante 3 días. Se recomienda ajustar el periodo de retención mediante la ejecución del comando exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;. El parámetro <time> se especifica en minutos. Si una sola tabla genera más de 10 millones de cambios SQL incrementales al día, se recomienda establecer el valor en 1440.

        • El número de tablas con CDC habilitado en una sola tarea de migración no puede superar las 1,000. De lo contrario, pueden producirse retrasos o inestabilidad.

        • El módulo de comprobación previa habilita CDC en la base de datos de origen. Durante este proceso, se produce un breve bloqueo de tabla debido a limitaciones del kernel de la base de datos SQL Server.

        • DTS crea el trigger dts_cdc_sync_ddl, la tabla de latidos dts_sync_progress y la tabla de almacenamiento DDL dts_cdc_ddl_history en la base de datos de origen. También habilita CDC a nivel de base de datos y CDC para algunas tablas.

        • No se admite la ejecución de instrucciones SELECT INTO, TRUNCATE y RENAME COLUMN en tablas con CDC habilitado dentro de la base de datos de origen. No elimine manualmente los triggers creados por DTS en la base de datos de origen.

        Ventajas

        • Admite escenarios de bases de datos de origen como tablas heap, tablas sin clave primaria, tablas comprimidas y tablas con columnas calculadas.

        • Ofrece una conexión altamente estable, recupera instrucciones DDL completas y es compatible con una amplia variedad de escenarios DDL.

      • Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported)

        Límites

        • Las tablas migradas deben tener un índice agrupado que incluya la columna de clave primaria.

        • Este modo no admite tablas heap, tablas sin clave primaria, tablas comprimidas ni tablas con columnas calculadas. Puede ejecutar las siguientes instrucciones SQL para comprobar si su base de datos de origen contiene dichas tablas:

          1. Compruebe si hay tablas heap en la base de datos de origen:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id IN (SELECT object_id FROM sys.indexes WHERE index_id = 0);
          2. Compruebe si hay tablas sin clave primaria:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id NOT IN (SELECT parent_object_id FROM sys.objects WHERE type = 'PK');
          3. Compruebe si hay columnas de clave primaria que no estén incluidas en el índice agrupado:

            SELECT s.name schema_name, t.name table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id WHERE t.type = 'U' AND s.name NOT IN('cdc', 'sys') AND t.name NOT IN('systranschemas') AND t.object_id IN ( SELECT pk_colums_counter.object_id AS object_id FROM (select pk_colums.object_id, sum(pk_colums.column_id) column_id_counter from (select sic.object_id object_id, sic.column_id FROM sys.index_columns sic, sys.indexes sis WHERE sic.object_id = sis.object_id AND sic.index_id = sis.index_id AND sis.is_primary_key = 'true') pk_colums group by object_id) pk_colums_counter inner JOIN ( select cluster_colums.object_id, sum(cluster_colums.column_id) column_id_counter from (SELECT sic.object_id object_id, sic.column_id FROM sys.index_columns sic, sys.indexes sis WHERE sic.object_id = sis.object_id AND sic.index_id = sis.index_id AND sis.index_id = 1) cluster_colums group by object_id ) cluster_colums_counter ON pk_colums_counter.object_id = cluster_colums_counter.object_id and pk_colums_counter.column_id_counter != cluster_colums_counter.column_id_counter);
          4. Compruebe si hay tablas comprimidas en la base de datos de origen:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.objects t, sys.schemas s, sys.partitions p WHERE s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id = p.object_id AND p.data_compression != 0;
          5. Compruebe si hay tablas que contengan columnas calculadas:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id IN (SELECT object_id FROM sys.columns WHERE is_computed = 1);
          6. Compruebe si hay tablas que contengan columnas dispersas:

            SELECT s.name AS schema_name, t.name AS table_name FROM sys.schemas s INNER JOIN sys.tables t ON s.schema_id = t.schema_id AND t.type = 'U' AND s.name NOT IN ('cdc', 'sys') AND t.name NOT IN ('systranschemas') AND t.object_id IN (SELECT object_id FROM sys.columns WHERE is_sparse = 1);

        Ventajas

        Este método no interfiere con la base de datos de origen.

      • Polling and querying CDC instances for incremental synchronization

        Límites

        • La cuenta de la base de datos de origen debe tener permisos para habilitar CDC. El CDC a nivel de base de datos requiere una cuenta con el rol sysadmin. El CDC a nivel de tabla requiere una cuenta con privilegios elevados.

        • No se admite habilitar CDC en tablas con índices columnstore agrupados.

        • El módulo de comprobación previa habilita CDC en la base de datos de origen. Durante este proceso, se produce un breve bloqueo de tabla debido a limitaciones del kernel de la base de datos SQL Server.

        • El número de tablas de origen que se van a migrar no puede superar las 1,000. De lo contrario, pueden producirse retrasos o inestabilidad.

        • De forma predeterminada, los datos incrementales de CDC se conservan durante 3 días. Se recomienda ajustar el periodo de retención mediante la ejecución del comando exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;. El parámetro <time> se especifica en minutos. Si una sola tabla genera más de 10 millones de cambios SQL incrementales al día, se recomienda establecer el valor en 1440.

        • No se admiten operaciones consecutivas de agregar y eliminar columnas (más de dos operaciones DDL en un minuto). De lo contrario, la tarea podría fallar.

        • No se admite modificar la instancia de CDC de origen. Esto puede provocar el fallo de la tarea o la pérdida de datos.

        Ventajas

        • Admite la migración completa e incremental desde orígenes como Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machines y Google Cloud SQL for SQL Server.

        • Utiliza el componente CDC nativo de SQL Server para capturar datos incrementales, lo que garantiza una migración incremental más estable y consume menos ancho de banda de red.

      Nota

      Esta configuración solo está disponible si se selecciona Migration Types como Incremental Data Migration.

      The maximum number of tables for which CDC is enabled that DTS supports.

      Establezca un límite razonable para el número de tablas en las que se puede habilitar CDC en esta instancia de migración. El valor predeterminado es 1000.

      Nota

      Esta configuración no está disponible cuando selecciona SQL Server Incremental Synchronization Mode como Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: comprueba si la base de datos de destino contiene tablas con los mismos nombres que las del origen. Si no existen dichas tablas, la tarea se inicia normalmente. De lo contrario, la comprobación previa falla y la tarea no se inicia.

        Solución: si no puede eliminar o cambiar el nombre de la tabla en conflicto en la base de datos de destino, utilice schema, table, and column name mapping para modificar el nombre de la tabla en el destino.

      • Ignore Errors and Proceed: omite la comprobación de tablas con el mismo nombre en la base de datos de destino.

        Aviso

        Seleccionar Ignore Errors and Proceed puede provocar inconsistencias en los datos y representar riesgos para su negocio. Por ejemplo:

        • Si las estructuras de las tablas son iguales y la tabla de destino ya contiene registros con los mismos valores de clave primaria que la de origen:

          • Durante la migración completa, DTS conserva los registros existentes en la tabla de destino y no migra los registros correspondientes del origen.

          • Durante la migración incremental, los datos nuevos del origen podrían sobrescribir los datos de la tabla de destino, lo que provoca la pérdida de datos históricos.

        • Si las estructuras de las tablas son diferentes, es posible que solo se migren datos parciales o que la migración falle. Utilice esta opción con precaución.

      Source Objects

      En el cuadro Source Objects, haga clic en los objetos que desea migrar y luego haga clic en Right arrow para moverlos al cuadro Selected Objects.

      Nota

      La granularidad para seleccionar objetos de migración es esquema, tabla y columna. Si selecciona únicamente tablas o columnas como objetos de migración, otros objetos como vistas, triggers y procedimientos almacenados no se migrarán a la base de datos de destino.

      Selected Objects

      • Para cambiar el nombre de un solo objeto de migración en la instancia de destino, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects. Para obtener más información, consulte Map individual schema, table, and column names.

      • Para cambiar los nombres de varios objetos de migración en la instancia de destino, haga clic en Selected Objects en la esquina superior derecha del cuadro Batch Edit. Para obtener más información, consulte Map multiple schema, table, and column names.

      Nota
      • Si utiliza la asignación de nombres de objetos, la migración de otros objetos que dependan del objeto renombrado podría fallar.

      • Para filtrar datos mediante una cláusula WHERE, haga clic con el botón derecho en una tabla dentro del cuadro Selected Objects y aplique set the filter conditions en el cuadro de diálogo que aparece.

      • Para seleccionar las operaciones SQL que se van a migrar a nivel de base de datos o de tabla, haga clic con el botón derecho en un objeto dentro del cuadro Selected Objects y elija las operaciones SQL deseadas en el cuadro de diálogo.

    2. Haga clic en Next: Advanced Settings para configurar los parámetros avanzados.

      Configuración

      Descripción

      Dedicated Cluster for Task Scheduling

      De forma predeterminada, DTS programa las tareas en un clúster compartido. No es necesario seleccionar uno. Si desea tareas más estables, puede adquirir un dedicated cluster para ejecutar las tareas de migración de DTS.

      Retry Time for Failed Connections

      Después de que se inicie la tarea de migración, si la conexión a la base de datos de origen o de destino falla, DTS reporta un error y comienza inmediatamente a reintentar la conexión. La duración predeterminada de reintento es de 720 minutos. Puede personalizar el tiempo de reintento a un valor de entre 10 y 1440 minutos. Se recomienda establecer la duración en más de 30 minutos. Si DTS se vuelve a conectar a las bases de datos de origen y de destino dentro de la duración especificada, la tarea de migración se reanuda automáticamente. De lo contrario, la tarea falla.

      Nota
      • Para varias instancias de DTS que comparten el mismo origen o destino, el tiempo de reintento de red se determina según la configuración de la última tarea creada.

      • Dado que se le cobra por la tarea durante el periodo de reintento de conexión, se recomienda personalizar el tiempo de reintento según sus necesidades de negocio, o liberar la instancia de DTS lo antes posible después de liberar las instancias de las bases de datos de origen y de destino.

      Retry Time for Other Issues

      Después de que se inicie la tarea de migración, si ocurre un problema que no sea de conectividad en la base de datos de origen o de destino, como una excepción en la ejecución de DDL o DML, DTS reporta un error y comienza inmediatamente a reintentar la operación. La duración predeterminada de reintento es de 10 minutos. Puede personalizar el tiempo de reintento a un valor de entre 1 y 1440 minutos. Se recomienda establecer la duración en más de 10 minutos. Si las operaciones relacionadas se ejecutan correctamente dentro de la duración de reintento especificada, la tarea de migración se reanuda automáticamente. De lo contrario, la tarea falla.

      Importante

      El valor de Retry Time for Other Issues debe ser menor que el valor de Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Durante la migración completa, DTS consume recursos de lectura y escritura en las bases de datos de origen y de destino, lo que puede aumentar la carga de la base de datos. Si es necesario, puede habilitar la limitación de velocidad para la tarea de migración completa. Puede configurar Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s) para reducir la carga en la base de datos de destino.

      Nota
      • Este elemento de configuración solo está disponible si selecciona Full Data Migration en Migration Types.

      • También puede adjust the full migration speed después de que la instancia de migración esté en ejecución.

      Enable Throttling for Incremental Data Migration

      Si es necesario, también puede optar por establecer límites de velocidad para la tarea de migración incremental. Puede configurar RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s) para reducir la carga en la base de datos de destino.

      Nota
      • Este elemento de configuración solo está disponible si selecciona Incremental Data Migration en Migration Types.

      • También puede adjust the incremental migration speed después de que la instancia de migración esté en ejecución.

      Environment Tag

      Puede seleccionar una etiqueta de entorno para identificar la instancia. Esto no es obligatorio para este ejemplo.

      Configure ETL

      Elija si desea habilitar la función de extracción, transformación y carga (ETL). Para obtener más información, consulte What is ETL? Valores válidos:

      Monitoring and Alerting

      Seleccione si desea configurar alertas y recibir notificaciones de alerta según sus necesidades de negocio.

      • No: no configura ninguna alerta.

      • Yes: configura alertas estableciendo un alert threshold y un alert notifications. Si una migración falla o la latencia supera el umbral, el sistema envía una notificación de alerta.

    3. Haga clic en Next: Data Validation para configurar una tarea de validación de datos.

      Para obtener más información sobre la función de validación de datos, consulte Configure data validation.

  6. Guarde la tarea y ejecute una comprobación previa.

    • Para consultar los parámetros de configuración de esta instancia al llamar a la operación de API, coloque el puntero sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la burbuja que aparece.

    • Si no necesita consultar los parámetros de API o ya terminó de revisarlos, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.

    Nota
    • Antes de que comience la tarea de migración, DTS ejecuta una comprobación previa. La tarea solo se inicia después de aprobar dicha comprobación.

    • Si la comprobación previa falla, haga clic en View Details junto al elemento con errores, resuelva el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.

    • Si se reporta una advertencia durante la comprobación previa:

      • Para los elementos de comprobación que no se pueden ignorar, haga clic en View Details junto al elemento con errores, resuelva el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.

      • Para los elementos de comprobación que se pueden ignorar, haga clic en Confirm Alert Details, Ignore, OK y Precheck Again para omitir el elemento de advertencia y volver a ejecutar la comprobación previa. Si decide ignorar una advertencia, podrían surgir problemas como inconsistencias en los datos y representar riesgos para su negocio.

  7. Adquiera la instancia.

    1. Cuando Success Rate sea del 100 %, haga clic en Next: Purchase Instance.

    2. En la página Purchase, seleccione la especificación de enlace para la instancia de migración de datos. Para obtener más información, consulte la siguiente tabla.

      Categoría

      Parámetro

      Descripción

      New Instance Class

      Resource Group Settings

      Seleccione el resource group al que pertenece la instancia. El valor predeterminado es default resource group. Para obtener más información, consulte What is resource management?

      Instance Class

      DTS ofrece especificaciones de migración con distintos niveles de rendimiento. La especificación de enlace afecta la velocidad de migración. Puede seleccionar una especificación según su escenario de negocio. Para obtener más información, consulte Data migration link specifications.

    3. Una vez completada la configuración, lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Haga clic en Buy and Start. En el cuadro de diálogo OK que aparece, haga clic en OK.

      Puede consultar el progreso de la tarea de migración en la página de lista Data Migration Tasks.

      Nota
      • Si la tarea de migración no incluye migración incremental, se detiene automáticamente una vez completada la migración total. Después de que la tarea se detenga, su Status cambia a Completed.

      • Si la tarea de migración incluye migración incremental, no se detiene automáticamente. La tarea de migración incremental continúa ejecutándose. Mientras la tarea de migración incremental esté en ejecución, el Status de la tarea será Running.

Apéndice 1: operaciones de SQL para la migración incremental

Operaciones DML

INSERT, UPDATE, DELETE

Nota

No se admiten las instrucciones UPDATE que modifican exclusivamente objetos grandes.

Operaciones DDL

  • CREATE TABLE

    Nota

    No se admiten particiones ni funciones dentro de las definiciones de tabla.

  • ALTER TABLE

    Solo se admiten ADD COLUMN y DROP COLUMN.

  • DROP TABLE

  • CREATE INDEX, DROP INDEX

Nota
  • No se admiten las operaciones DDL transaccionales. Por ejemplo, ejecutar una sola instrucción que agregue varias columnas o que combine operaciones DDL y DML puede provocar pérdida de datos.

  • No se admiten las operaciones DDL que involucran tipos definidos por el usuario.

  • No se admiten las operaciones DDL en línea.

  • No se admiten las operaciones DDL que usan una palabra clave reservada como nombre de atributo.

  • No se admiten las operaciones DDL provenientes de un procedimiento almacenado del sistema.

  • No se admiten las operaciones TRUNCATE TABLE.

Apéndice 2: objetos compatibles

  • Objetos compatibles: tablas, vistas, desencadenadores de tabla, sinónimos, procedimientos almacenados de SQL, funciones de SQL, guías de plan, tipos definidos por el usuario, reglas, valores predeterminados y secuencias.

  • Objetos no compatibles: ensamblados, service brokers, índices de texto completo, catálogos de texto completo, esquemas distribuidos, funciones distribuidas, procedimientos almacenados CLR, funciones escalares CLR, funciones con valores de tabla CLR, tablas internas, objetos del sistema y funciones de agregado.