Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrar datos de RDS SQL Server a DataHub

Última actualización: Sep 04, 2026

Utilice Data Transmission Service (DTS) para transmitir cambios incrementales de datos desde una instancia de ApsaraDB RDS for SQL Server hacia un proyecto de DataHub en tiempo real. DTS emplea la captura de cambios de datos (CDC) para leer las operaciones INSERT, UPDATE y DELETE confirmadas del registro de transacciones de SQL Server y escribirlas en los topics de DataHub.

Funcionamiento

Al iniciar una tarea de migración de DTS, el servicio ejecuta la migración del esquema para replicar la estructura de los objetos seleccionados en el proyecto de DataHub de destino. Una vez completada la migración del esquema, DTS habilita CDC en la instancia de origen y comienza a capturar los cambios a nivel de fila. Cada cambio capturado se escribe en el topic correspondiente de DataHub. La tarea se ejecuta de forma continua y solo se detiene si usted la finaliza manualmente o si ocurre un error irrecuperable.

La migración completa de datos no es compatible con esta ruta de migración. Solo están disponibles la migración de esquemas y la migración incremental de datos.

Configuraciones compatibles

La siguiente tabla resume los límites estrictos para esta ruta de migración. Revíselos antes de empezar.

Categoría

Valores o límites compatibles

Tipos de migración

Migración de esquemas, migración incremental de datos (la migración completa de datos no es compatible)

Bases de datos por tarea

Hasta 10

Tablas por tarea (al renombrar tablas o columnas)

Hasta 1,000

SQL Server — Enterprise edition

2008 o posterior

SQL Server — Standard edition

2016 SP1 o posterior

Tamaño de cadena en destino

Hasta 2 MB por valor de cadena

Tablas CDC con valores de campo > 64 KB

Ejecute exec sp_configure 'max text repl size', -1; antes de iniciar la tarea

Transparent Data Encryption (TDE)

Debe deshabilitarse cuando se incluye la migración incremental de datos

Requisitos previos

Antes de empezar:

  • La instancia de origen de ApsaraDB RDS for SQL Server ejecuta una versión compatible con DTS. Consulte Descripción general de los escenarios de migración de datos para ver las versiones compatibles.

  • DataHub está activado y se ha creado un proyecto para recibir los datos migrados. Consulte Get started with DataHub y Manage projects.

  • Si la instancia de origen cumple alguna de las siguientes condiciones, adquiera varias instancias de DTS y configure tareas de migración separadas:

    • La instancia contiene más de 10 bases de datos.

    • Una sola base de datos realiza copias de seguridad de sus registros de transacciones con una frecuencia mayor a una vez por hora.

    • Una sola base de datos ejecuta más de 100 sentencias DDL por hora.

    • Los registros de transacciones se escriben a más de 20 MB/s para una sola base de datos.

    • Es necesario habilitar CDC para más de 1,000 tablas.

Límites

Base de datos de origen

  • El servidor de origen debe contar con suficiente ancho de banda de salida. Un ancho de banda insuficiente reduce la velocidad de migración.

  • Las tablas que se van a migrar deben tener restricciones PRIMARY KEY o UNIQUE, y todos sus campos deben ser únicos. Las tablas sin estas restricciones pueden generar registros duplicados en el destino.

  • Si renombra tablas o columnas en el destino, una sola tarea de migración admite hasta 1,000 tablas. Superar este límite provoca un error de solicitud. En este caso, divida las tablas en varias tareas o realice la migración a nivel de base de datos.

  • Una sola tarea de migración admite hasta 10 bases de datos. Migrar más de 10 bases de datos en una sola tarea puede reducir el rendimiento y la estabilidad.

  • Para la migración incremental de datos:

    • Habilite el registro de datos en la base de datos de origen. Establezca el modo de copia de seguridad en Full y realice una copia de seguridad física completa.

    • Si ejecuta únicamente la migración incremental de datos, conserve los registros de transacciones durante más de 24 horas. Si ejecuta tanto la migración completa como la incremental, conserve los registros durante al menos 7 días. DTS podría no obtener los registros si el periodo de retención es demasiado corto, lo cual puede causar fallos en la tarea, inconsistencia de datos o pérdida de datos. Una vez completada la migración completa de datos, puede reducir el periodo de retención a más de 24 horas. Los periodos de retención que no cumplan estos requisitos quedan fuera del alcance del Acuerdo de Nivel de Servicio (SLA) de DTS.

  • Para que CDC funcione correctamente, 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.

    • Para bases de datos de SQL Server autogestionadas, el propietario de la base de datos debe ser el usuario sa. Para bases de datos de ApsaraDB RDS for SQL Server, el propietario debe ser el usuario sqlsa.

    • Enterprise edition: SQL Server 2008 o posterior.

    • Standard edition: SQL Server 2016 SP1 o posterior.

    • Si el origen ejecuta SQL Server 2017 (Standard o Enterprise edition), actualice a una versión posterior antes de la migración.

  • DTS utiliza la función fn_log para leer los registros de la base de datos de origen. No borre los registros antes de que finalice la tarea, ya que esto puede provocar su fallo.

  • Durante la migración de esquemas y la migración completa de datos, no ejecute sentencias DDL en la base de datos de origen. Los cambios de esquema durante la migración provocan el fallo de la tarea.

  • Si ejecuta únicamente la migración incremental de datos, no escriba datos en la base de datos de origen durante la migración. Para garantizar la consistencia de los datos, ejecute conjuntamente la migración de esquemas, la migración completa de datos y la migración incremental de datos.

  • Si el origen es una Azure SQL Database, solo se puede migrar una base de datos por tarea.

  • Si el origen es una instancia de ApsaraDB RDS for SQL Server y la tarea incluye migración incremental de datos, deshabilite Transparent Data Encryption (TDE) en la instancia. Consulte Configurar TDE.

  • Durante la migración completa de datos, habilite el nivel de aislamiento READ_COMMITTED_SNAPSHOT en la base de datos de origen. Sin este nivel, los bloqueos compartidos pueden impedir escrituras, causar inconsistencia de datos o evitar que la instancia se ejecute. Estos problemas quedan fuera del alcance del SLA de DTS.

  • En el modo de análisis basado en registros híbrido, no agregue ni elimine columnas más de una vez dentro de una ventana de 10 minutos. Por ejemplo, ejecutar las dos siguientes sentencias dentro de 10 minutos provoca un error en la tarea:

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');

Proyecto de DataHub de destino

  • Un solo valor de cadena no puede superar los 2 MB de longitud.

Objetos y tipos de datos

DTS admite la migración de esquemas para: esquemas, tablas, vistas, funciones y procedimientos almacenados.

Los siguientes tipos de objetos no se migran:

  • Ensamblados

  • Service brokers

  • Índices de texto completo y catálogos de texto completo

  • Esquemas distribuidos y funciones distribuidas

  • Procedimientos almacenados de Common Language Runtime (CLR), funciones con valor escalar CLR y funciones con valor de tabla CLR

  • Tablas internas, objetos del sistema y funciones de agregado

  • Tablas que contienen columnas calculadas

Los siguientes tipos de datos de SQL Server no se migran:

Tipo de dato

Notas

CURSOR

No compatible

ROWVERSION

No compatible

SQL_VARIANT

No compatible

HIERARCHYID

No compatible

POLYGON

No compatible

GEOMETRY

No compatible

GEOGRAPHY

No compatible

Migración incremental de datos

  • Operaciones DML compatibles: INSERT, UPDATE, DELETE.

    Si una operación UPDATE modifica únicamente valores de campos grandes, DTS no migra dicha operación.
  • No se permiten operaciones de reindexación mientras se ejecuta la migración incremental de datos. La reindexación puede provocar el fallo de la tarea y causar pérdida de datos.

    DTS no puede migrar operaciones DDL relacionadas con la clave principal de una tabla con CDC habilitado.
  • Si el número de tablas con CDC habilitado en una sola tarea de migración supera el máximo admitido por DTS, la comprobación previa fallará.

  • Si las tablas con CDC habilitado requieren valores de campo superiores a 64 KB, ejecute el siguiente comando en la base de datos de origen antes de iniciar la tarea:

    exec sp_configure 'max text repl size', -1;

    De forma predeterminada, un trabajo de CDC puede procesar datos de hasta 64 KB por campo.

  • DTS no migra claves externas. Las operaciones en cascada y de eliminación definidas en la base de datos de origen no se replican en el destino.

Objetos internos creados por DTS

DTS crea los siguientes objetos en la base de datos de origen para rastrear el progreso de la migración:

Modo

Objetos creados

Sincronización incremental basada en registros de la base de datos de origen

Trigger dts_cdc_sync_ddl, tabla de latido dts_sync_progress, tabla de historial DDL dts_cdc_ddl_history

Análisis basado en registros híbrido

Igual que el anterior, además de CDC habilitado en la base de datos de origen y en tablas específicas

Para las tablas con CDC habilitado, establezca la tasa máxima de ingesta en 1,000 registros por segundo (RPS).

Otras consideraciones

  • Migre los datos durante las horas de menor actividad. La migración completa de datos aumenta la carga de lectura y escritura tanto en el origen como en el destino.

  • No utilice herramientas distintas a DTS para escribir datos en el proyecto de DataHub de destino durante la migración. Hacerlo puede causar inconsistencia en los datos.

  • Varias instancias de DTS que comparten la misma base de datos de SQL Server de origen capturan los datos incrementales de forma independiente.

  • Si una tarea falla, el soporte técnico de DTS intenta restaurarla en un plazo de 8 horas. Durante la restauración, la tarea puede reiniciarse y se pueden modificar los parámetros de la tarea (no los parámetros de la base de datos). Para consultar los parámetros que se pueden modificar, véase Modificar parámetros de instancia.

  • La migración completa de datos utiliza operaciones INSERT simultáneas, lo que puede causar fragmentación de tablas en el destino. El tamaño del tablespace de destino puede ser mayor que el del origen después de la migración.

Casos especiales

Si el origen es una instancia de ApsaraDB RDS for SQL Server, DTS crea automáticamente una cuenta llamada rdsdt_dtsacct en la instancia. No elimine esta cuenta ni cambie su contraseña mientras se ejecuta la tarea de migración. Consulte Cuentas del sistema.

Facturación

Tipo de migración

Costo de configuración de la tarea

Costo de transferencia de datos

Migración de esquemas

Gratis

Gratis (se aplican cargos solo al migrar a través de Internet desde Alibaba Cloud). Consulte Billing overview.

Migración incremental de datos

Con costo. Consulte Billing overview.

—

Permisos necesarios para la cuenta de base de datos

Instancia

Migración de esquemas

Migración incremental de datos

ApsaraDB RDS for SQL Server de origen

Permisos de lectura sobre los objetos a migrar

Permisos de propietario sobre los objetos a migrar

Consulte Create a privileged account or a standard account y Modify the permissions of an account.

Crear una tarea de migración

Paso 1: Abrir la página de migración de datos

Utilice una de las siguientes consolas:

Consola de DTS

  1. Inicie sesión en la consola de DTS.

  2. En el panel de navegación izquierdo, haga clic en Data Migration.

  3. En la esquina superior izquierda, seleccione la región donde reside la instancia de migración.

Consola de DMS

La ruta de navegación exacta varía según el modo y el diseño de la consola de DMS. Consulte Modo simple y Personalizar el diseño y estilo de la consola de DMS .
  1. Inicie sesión en la consola de DMS.

  2. En la barra de navegación superior, vaya a Data + AI > DTS (DTS) > Data Migration.

  3. En la lista desplegable junto a Data Migration Tasks, seleccione la región donde reside la instancia de migración.

Paso 2: Configurar la tarea

  1. Haga clic en Create Task.

  2. Configure las bases de datos de origen y de destino.

    Aviso

    Después de configurar las bases de datos de origen y de destino, lea los Límites mostrados en la parte superior de la página antes de continuar. Omitir este paso puede causar el fallo de la tarea o resultar en inconsistencia de datos.

    Base de datos de origen

    Parámetro

    Descripción

    Task Name

    Nombre para la tarea de DTS. DTS genera un nombre automáticamente. Especifique un nombre descriptivo para facilitar la identificación de la tarea. El nombre no necesita ser único.

    Select Existing Connection

    Si la instancia de origen está registrada en DTS, selecciónela de la lista desplegable. DTS completará automáticamente los parámetros restantes. De lo contrario, configure los parámetros siguientes. En la consola de DMS, seleccione la instancia en Select a DMS database instance. Consulte Gestionar conexiones de base de datos.

    Database Type

    Seleccione SQL Server.

    Access Method

    Seleccione Alibaba Cloud Instance.

    Instance Region

    La región donde reside la instancia de origen de ApsaraDB RDS for SQL Server.

    Replicate Data Across Alibaba Cloud Accounts

    Seleccione No para migraciones dentro de la misma cuenta.

    RDS Instance ID

    El ID de la instancia de origen de ApsaraDB RDS for SQL Server.

    Database Account

    La cuenta de base de datos para la instancia de origen. Consulte Required database account permissions.

    Database Password

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

    Encryption

    Seleccione Non-encrypted si SSL está deshabilitado en la base de datos de origen. Seleccione SSL-encrypted si SSL está habilitado. DTS confía en el certificado del servidor de forma predeterminada.

    Base de datos de destino

    Parámetro

    Descripción

    Select Existing Connection

    Si la instancia de destino está registrada en DTS, selecciónela de la lista desplegable. DTS completará automáticamente los parámetros restantes. De lo contrario, configure los parámetros siguientes. Consulte Gestionar conexiones de base de datos.

    Database Type

    Seleccione DataHub.

    Access Method

    Seleccione Alibaba Cloud Instance.

    Instance Region

    La región donde reside el proyecto de DataHub de destino.

    Project

    El nombre del proyecto de DataHub de destino.

  3. Haga clic en Test Connectivity and Proceed.

    Los bloques CIDR de los servidores de DTS deben agregarse a la configuración de seguridad de las bases de datos de origen y de destino. DTS puede agregarlos automáticamente, o bien usted puede añadirlos manualmente. Consulte Agregar los bloques CIDR de los servidores de DTS . Si el origen o el destino es una base de datos autogestionada a la que no se accede mediante Alibaba Cloud Instance , haga clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers .

Paso 3: Seleccionar objetos a migrar

En la página Configure Objects, configure los siguientes parámetros:

Parámetro

Descripción

Migration Types

Seleccione Schema Migration y Incremental Data Migration. Full Data Migration no está disponible para esta ruta de migración. Si no selecciona Incremental Data Migration, no escriba datos en la base de datos de origen durante la migración para mantener la consistencia de los datos.

Naming Rules of Additional Columns

Cuando DTS migra datos a DataHub, agrega columnas adicionales al topic de destino. Si estos nombres de columna entran en conflicto con columnas existentes en el topic, la migración falla. Seleccione New Rule o Previous Rule según sus necesidades. Compruebe si existen conflictos de nombres antes de configurar este parámetro. Consulte Modify the naming rules for additional columns.

Processing Mode of Conflicting Tables

Precheck and Report Errors: falla la comprobación previa si el destino contiene tablas con los mismos nombres que las tablas de origen. Utilice la función de asignación de nombres de objetos para resolver conflictos. Consulte Asignación de nombres de bases de datos, tablas y columnas. Ignore Errors and Proceed: omite la comprobación previa para nombres de tabla idénticos. Durante la migración completa, se conservan los registros de destino existentes con claves principales coincidentes. Durante la migración incremental, se sobrescriben. Si los esquemas difieren, solo se migran algunas columnas o la tarea puede fallar.

Capitalization of Object Names in Destination Instance

Controla el uso de mayúsculas en los nombres de bases de datos, tablas y columnas en el destino. El valor predeterminado es DTS default policy. Consulte Especificar el uso de mayúsculas en nombres de objetos en la instancia de destino.

Source Objects

Seleccione objetos de la lista Source Objects y luego haga clic en el icono de flecha derecha para agregarlos a Selected Objects. Puede seleccionar columnas, tablas o bases de datos.

Selected Objects

Para renombrar un solo objeto, haga clic derecho sobre él. Para renombrar varios objetos a la vez, haga clic en Edit en la esquina superior derecha. Consulte Renombrar objetos a migrar y Renombrar varios objetos a migrar a la vez. Nota: los nombres de bases de datos no se pueden asignar; renombrar una base de datos puede causar fallos en objetos dependientes. Para filtrar filas mediante condiciones WHERE, haga clic derecho en una tabla. Consulte Specify filter conditions.

Paso 4: Configurar ajustes avanzados

Haga clic en Next: Advanced Settings y configure los siguientes parámetros:

Parámetro Descripción
Dedicated Cluster for Task Scheduling De forma predeterminada, DTS programa las tareas en el clúster compartido. Para mayor estabilidad, adquiera un clúster dedicado. Consulte ¿Qué es un clúster dedicado de DTS?.
Retry Time for Failed Connections El intervalo de tiempo durante el cual DTS reintenta las conexiones fallidas. Valores válidos: 10–1,440 minutos. Valor predeterminado: 720 minutos. Establezca este valor en al menos 30 minutos. DTS reanuda la tarea si se reconecta dentro de esta ventana; de lo contrario, la tarea falla. Nota: si varias tareas comparten la misma base de datos de origen o de destino, prevalece el tiempo de reintento configurado más recientemente. Se aplican cargos de DTS durante los periodos de reintento de conexión.
Retry Time for Other Issues El intervalo de tiempo durante el cual DTS reintenta las operaciones DDL o DML fallidas. Valores válidos: 1–1,440 minutos. Valor predeterminado: 10 minutos. Establezca este valor en al menos 10 minutos, y siempre inferior al valor de Retry Time for Failed Connections.
Enable Throttling for Incremental Data Migration Disponible solo cuando se selecciona Incremental Data Migration. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s) para limitar la carga en el destino.
Environment Tag Una etiqueta opcional para identificar la instancia de DTS.
Configure ETL Seleccione Yes para habilitar la función de extracción, transformación y carga (ETL) e introducir sentencias de procesamiento de datos en el editor de código. Seleccione No para omitir ETL. Consulte ¿Qué es ETL? y Configurar ETL en una tarea de migración o sincronización de datos.
Monitoring and Alerting Seleccione Yes para recibir notificaciones cuando la tarea falle o la latencia de migración supere el umbral. Configure el umbral de alerta y los ajustes de notificación. Consulte Configurar monitoreo y alertas al crear una tarea de DTS.

Paso 5: Ejecutar la comprobación previa

Haga clic en Next: Save Task Settings and Precheck.

Para previsualizar los parámetros de la API para esta configuración de tarea, pase el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters.

DTS ejecuta una comprobación previa antes de iniciar la tarea de migración. La tarea solo puede comenzar después de aprobar la comprobación previa.

Si la comprobación previa falla:

  • Haga clic en View Details junto a cada elemento fallido, analice la causa, resuelva el problema y haga clic en Precheck Again.

Si se activa una alerta de comprobación previa:

  • Para alertas que no se pueden ignorar: haga clic en View Details, resuelva el problema y ejecute la comprobación previa nuevamente.

  • Para alertas que se pueden ignorar: haga clic en Confirm Alert Details > Ignore > OK, y luego haga clic en Precheck Again. Ignorar alertas puede resultar en inconsistencia de datos.

Paso 6: Adquirir una instancia de migración de datos

  1. Espere hasta que Success Rate alcance 100%, luego haga clic en Next: Purchase Instance.

  2. En la página Purchase Instance, configure lo siguiente:

    Parámetro

    Descripción

    Resource Group

    El resource group para la instancia de migración. Valor predeterminado: default resource group. Consulte ¿Qué es Resource Management?

    Instance Class

    La clase de instancia determina la velocidad de migración. Seleccione una clase según su carga de trabajo. Consulte Clases de instancia de migración de datos.

  3. Lea y acepte los Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Haga clic en Buy and Start, y luego haga clic en OK en el cuadro de diálogo de confirmación.

Verificar la tarea de migración

Una vez iniciada la tarea, compruebe su estado en la página Data Migration:

  • Completed: La tarea incluía únicamente migración de esquemas (sin migración incremental de datos). La tarea se ha detenido automáticamente.

  • Running: La tarea incluye migración incremental de datos. La tarea se ejecuta continuamente y no se detiene automáticamente.