Data Transmission Service (DTS) permite migrar datos desde una instancia de ApsaraDB MyBase for SQL Server hacia una instancia de ApsaraDB RDS for SQL Server con un tiempo de inactividad mínimo. Esta guía explica cómo configurar una tarea de migración que combina la migración de esquemas, la migración completa de datos y la migración incremental de datos.
Ámbito de aplicación
Antes de empezar, asegúrese de que:
La instancia de destino de ApsaraDB RDS for SQL Server ya está creada. Para consultar las versiones de motor compatibles, véase Overview of data migration scenarios. Para crear una instancia, consulte Create an ApsaraDB RDS for SQL Server instance
La instancia de destino cuenta con más espacio de almacenamiento disponible que el tamaño total de los datos de la instancia de origen
Si establece SQL Server Incremental Synchronization Mode en Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables, se utiliza el modo híbrido de análisis basado en registros. Las siguientes versiones de base de datos de origen son compatibles:
Edición Enterprise o Enterprise Evaluation: SQL Server 2012, 2014, 2016, 2019, 2022 o 2025
Edición Standard: SQL Server 2016, 2019, 2022 o 2025
Cuándo dividir en varias tareas
Divida la migración en varias tareas si la instancia de origen cumple alguna de las siguientes condiciones:
La instancia de origen contiene más de 10 bases de datos
Una sola base de datos realiza copias de seguridad de registros a intervalos menores a 1 hora
Una sola base de datos ejecuta más de 100 sentencias DDL por hora
Los registros se escriben a una velocidad de 20 MB/s para una sola base de datos
Es necesario habilitar Change Data Capture (CDC) para más de 1,000 tablas
Facturación
|
Tipo de migración |
Tarifa de configuración de la tarea |
Tarifa de tráfico por Internet |
|
Migración de esquemas y migración completa de datos |
Gratis |
Gratis |
|
Migración incremental de datos |
Con costo. Consulte Billing overview. |
— |
Elección del tipo de migración
DTS admite tres tipos de migración. Combínelos según sus necesidades.
|
Tipo de migración |
Función |
Cuándo utilizarla |
|
Migración de esquemas |
Migra los esquemas de los objetos seleccionados del origen al destino |
Selecciónela siempre como primer paso |
|
Migración completa de datos |
Migra todos los datos existentes del origen al destino |
Obligatoria para la migración inicial |
|
Migración incremental de datos |
Migra continuamente los cambios en los datos después de completar la migración completa |
Selecciónela para minimizar el tiempo de inactividad y mantener los servicios activos durante la migración |
Para obtener detalles completos sobre la compatibilidad con la migración de esquemas, consulte Objetos compatibles y no compatibles.
DTS no migra claves externas. Las operaciones en cascada y de eliminación definidas en la base de datos de origen no se transfieren al destino.
Límites
Revise estos límites antes de configurar la tarea.
Requisitos de la base de datos de origen
El servidor donde se despliega la base de datos de origen debe tener suficiente ancho de banda de salida. De lo contrario, la velocidad de migración de datos disminuye.
Las tablas que se van a migrar deben tener restricciones
PRIMARY KEYoUNIQUE, y todos los campos deben ser únicos. En caso contrario, la base de datos de destino podría contener registros duplicados.Una sola tarea de migración puede migrar hasta 1,000 tablas cuando se cambian nombres de tablas o columnas durante la migración. Para más de 1,000 tablas, configure varias tareas o realice la migración a nivel de base de datos en lugar de a nivel de tabla.
Una sola tarea de migración puede migrar hasta 10 bases de datos. Si tiene más de 10 bases de datos, configure varias tareas.
Para la migración incremental de datos, asegúrese también de que:
La función de registro de datos está habilitada. El modo de copia de seguridad debe establecerse en Full y se debe haber realizado una copia de seguridad física completa.
-
Periodo de retención de registros: Una retención insuficiente de registros puede provocar errores en la tarea, inconsistencia en los datos o pérdida de datos. No cumplir con estos requisitos también anula el acuerdo de nivel de servicio (SLA) de DTS.
Solo migración incremental: conserve los registros durante más de 24 horas
Migración completa + incremental: conserve los registros durante al menos 7 días. Una vez completada la migración completa, puede ajustar la retención a más de 24 horas
Para las tablas con CDC habilitado, se deben cumplir las siguientes condiciones (de lo contrario, la comprobación previa fallará):
El campo
srvnameen la vistasys.sysserversdebe coincidir con el valor devuelto por la funciónSERVERPROPERTYEl propietario de la base de datos debe ser
sa(SQL Server autogestionado) osqlsa(ApsaraDB RDS for SQL Server)Edición Enterprise: SQL Server 2008 o posterior
Edición Standard: SQL Server 2016 SP1 o posterior
Edición Standard o Enterprise con SQL Server 2017: actualice a una versión posterior
Límites adicionales de la base de datos de origen:
No ejecute sentencias DDL que modifiquen esquemas de bases de datos o tablas durante la migración de esquemas y la migración completa de datos. Esto provoca que la tarea de migración falle.
Si solo realiza la migración completa de datos (sin migración incremental), no escriba en la base de datos de origen durante la migración. Para evitar inconsistencias en los datos, seleccione los tres tipos de migración: migración de esquemas, migración completa de datos y migración incremental de datos.
No borre los registros de la base de datos de origen antes de que finalice la tarea. DTS utiliza la función
fn_logpara recuperar registros, la cual presenta cuellos de botella en el rendimiento. Borrar los registros prematuramente puede causar que la tarea falle.Las instancias de origen de solo lectura no admiten la migración de operaciones DDL.
-
En el modo híbrido de análisis basado en registros, no realice múltiples operaciones de agregar o eliminar columnas en la misma tabla dentro de un periodo de 10 minutos. Por ejemplo, la siguiente secuencia ejecutada en menos de 10 minutos genera un error:
ALTER TABLE test_table DROP COLUMN Flag; ALTER TABLE test_table ADD Remark nvarchar(50) not null default(''); Si el origen es una instancia de ApsaraDB RDS for SQL Server que ejecuta la edición Web, establezca SQL Server Incremental Synchronization Mode en Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).
Otros límites
DTS no migra los siguientes tipos de datos:
TEXT,CURSOR,ROWVERSION,SQL_VARIANT,HIERACHYID,GEOMETRY.Si utiliza el modo Incremental Synchronization Based on Logs of Source Database (no híbrido), las tablas deben tener índices clúster que contengan columnas de clave primaria. No se admiten tablas heap, tablas sin claves primarias, tablas comprimidas ni tablas con columnas calculadas. Para ver tablas heap, tablas sin claves primarias, tablas comprimidas o tablas con columnas calculadas, consulte las preguntas frecuentes.
Migre datos únicamente entre versiones de bases de datos compatibles.
Si las tablas con CDC habilitado en una sola tarea de migración superan las 1,000, la comprobación previa fallará.
Se recomienda establecer el número máximo de registros por segundo en 1,000 para las tablas que tienen CDC habilitado en la base de datos de origen.
La migración incremental de datos requiere deshabilitar desencadenadores y claves externas en la base de datos de destino.
Realice la migración fuera de las horas pico. La migración completa de datos consume recursos de lectura y escritura tanto en el origen como en el destino, lo que aumenta la carga en los servidores de bases de datos. Las operaciones INSERT simultáneas durante la migración completa también causan fragmentación de tablas en la base de datos de destino, lo que resulta en un espacio de tablas mayor que en el origen.
DTS utiliza
ROUND(COLUMN,PRECISION)para recuperar valores de columnasFLOATyDOUBLE. Precisión predeterminada: 38 dígitos paraFLOAT, 308 dígitos paraDOUBLE. Compruebe que esta configuración de precisión cumple con sus requisitos antes de iniciar la migración.DTS reintenta automáticamente las tareas de migración con errores durante un máximo de 7 días. Antes de cambiar las cargas de trabajo a la base de datos de destino, detenga o libere cualquier tarea con errores, o revoque los permisos de escritura de las cuentas de DTS en el destino. De lo contrario, la tarea reanudada podría sobrescribir datos en el destino con datos del origen.
No ejecute operaciones de reindexación durante la migración incremental de datos. Esto puede provocar que la tarea falle y cause pérdida de datos. DTS tampoco puede migrar operaciones DDL en claves primarias para tablas con CDC habilitado.
DTS crea automáticamente la base de datos de destino en la instancia de RDS. Si el nombre de la base de datos no cumple con las convenciones de nomenclatura de ApsaraDB RDS,
cree la base de datos manualmente
antes de configurar la tarea de migración.
Objetos compatibles y no compatibles
Migración de esquemas: objetos compatibles
Tabla, vista, desencadenador, sinónimo, procedimiento almacenado SQL, función SQL, guía de plan, tipo definido por el usuario, regla, valor predeterminado y secuencia.
Migración de esquemas: objetos no compatibles
Ensamblados, Service Broker, índices de texto completo, catálogos de texto completo, esquemas distribuidos, funciones distribuidas, procedimientos almacenados de Common Language Runtime (CLR), funciones con valor escalar CLR, funciones con valor de tabla CLR, tablas internas, objetos del sistema y funciones de agregado.
Operaciones SQL compatibles para la migración incremental de datos
| Tipo de operación | Sentencias SQL compatibles |
|---|---|
| DML | INSERT, UPDATE, DELETE. Nota
Las operaciones |
| DDL | ALTER TABLE (solo ADD COLUMN, DROP COLUMN, RENAME COLUMN); CREATE TABLE, CREATE INDEX (no se migran tablas particionadas ni tablas con funciones); DROP TABLE; RENAME TABLE; TRUNCATE TABLE |
Las operaciones DDL transaccionales no se migran. Por ejemplo, no se migra una operación SQL que contiene DDL en varias columnas, o aquella que mezcla DDL y DML. Puede ocurrir pérdida de datos.
Las operaciones DDL que contienen tipos definidos por el usuario no se migran.
Las operaciones DDL en línea no se migran.
En el modo híbrido de análisis basado en registros, se migran todas las operaciones DDL comunes.
Permisos necesarios
| Base de datos | Migración de esquemas | Migración completa de datos | Migración incremental de datos |
|---|---|---|---|
| Instancia de origen | Permisos de lectura sobre los objetos a migrar | Permiso de owner en la base de datos de origen |
Consulte Create an account y Modify account permissions. |
| Instancia de destino | Permisos de lectura y escritura en la base de datos de destino (se recomienda permiso de owner) |
||
Configuración de la tarea de migración
Paso 1: Ir a la página Data Migration Tasks
Inicie sesión en la consola de Data Management (DMS).
En la barra de navegación superior, pase el puntero sobre DTS y luego seleccione DTS (DTS) > Data Migration.
La navegación real puede variar según el diseño de la consola DMS. Consulte
y
Personalización del diseño y estilo de la consola DMS
. Alternativamente, vaya directamente a la
página Data Migration de la nueva consola DTS
.
Paso 2: Seleccionar la región
En la lista desplegable situada a la derecha de Data Migration Tasks, seleccione la región donde reside su instancia de migración.
En la nueva consola DTS, seleccione la región en la esquina superior izquierda.
Paso 3: Configurar las bases de datos de origen y destino
Haga clic en Create Task y configure los siguientes parámetros.
Después de configurar las bases de datos de origen y destino, lea los Limits que se muestran en la parte superior de la página. Omitir este paso puede causar que la tarea falle o provocar inconsistencia en los datos.
Base de datos de origen
|
Parámetro |
Descripción |
|
Task Name |
Nombre descriptivo para la tarea. DTS genera un nombre automáticamente, pero especificar un nombre significativo facilita la identificación de la tarea. No es necesario que sea único. |
|
Select an existing DMS database instance (opcional) |
Si ya registró una instancia de base de datos en DMS, selecciónela aquí. DTS completará automáticamente los parámetros siguientes. De lo contrario, configure los parámetros manualmente. |
|
Database Type |
Seleccione SQL Server. |
|
Access Method |
Seleccione Alibaba Cloud Instance. Las instancias de ApsaraDB MyBase for SQL Server se conectan a DTS mediante este método de acceso. |
|
Instance Region |
Región donde reside la instancia de origen de ApsaraDB MyBase for SQL Server. |
|
Replicate Data Across Alibaba Cloud Accounts |
Seleccione No para migraciones dentro de la misma cuenta. |
|
RDS Instance ID |
ID de la instancia de origen de ApsaraDB MyBase for SQL Server. |
|
Database Account |
Cuenta de la base de datos para la instancia de origen. Consulte Permisos necesarios. |
|
Database Password |
Contraseña de la cuenta de la base de datos. |
Base de datos de destino
|
Parámetro |
Descripción |
|
Select an existing DMS database instance (opcional) |
Si ya registró una instancia de base de datos en DMS, selecciónela aquí. DTS completará automáticamente los parámetros siguientes. De lo contrario, configure los parámetros manualmente. |
|
Database Type |
Seleccione SQL Server. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
Región donde reside la instancia de destino de ApsaraDB RDS for SQL Server. |
|
Instance ID |
ID de la instancia de destino de ApsaraDB RDS for SQL Server. |
|
Database Account |
Cuenta de la base de datos para la instancia de destino. Consulte Permisos necesarios. |
|
Database Password |
Contraseña de la cuenta de la base de datos. |
Paso 4: Probar la conectividad
Haga clic en Test Connectivity and Proceed.
DTS agrega automáticamente sus bloques CIDR de servidor a la lista de permitidos de direcciones IP de la instancia de base de datos de Alibaba Cloud. Para bases de datos autogestionadas en instancias de Elastic Compute Service (ECS), DTS agrega bloques CIDR a las reglas del security group de ECS, pero usted debe comprobar que la instancia ECS pueda alcanzar la base de datos. Si la base de datos se ejecuta en varias instancias ECS, agregue manualmente los bloques CIDR de DTS al security group de cada instancia ECS. Para bases de datos autogestionadas en centros de datos o entornos de nube de terceros, agregue manualmente los bloques CIDR de DTS a la lista de permitidos de direcciones IP de la base de datos. Para obtener la lista completa de bloques CIDR, consulte Agregar los bloques CIDR de los servidores DTS.
Agregar bloques CIDR de DTS a su lista de permitidos o security group introduce riesgos de seguridad. Antes de continuar, tome medidas preventivas: fortalezca la seguridad de nombres de usuario y contraseñas, limite los puertos expuestos, autentique las llamadas a la API y audite periódicamente las reglas de la lista de permitidos y del security group para eliminar bloques CIDR no autorizados. También puede conectar la base de datos a DTS a través de Express Connect, VPN Gateway o Smart Access Gateway.
Paso 5: Seleccionar objetos y configurar el modo de sincronización
|
Parámetro |
Descripción |
|
Migration Types |
Seleccione los tipos de migración según su escenario. Para una migración completa sin tiempo de inactividad, seleccione Schema Migration, Full Data Migration e Incremental Data Migration. Para una migración con ventana de mantenimiento, seleccione solo Schema Migration y Full Data Migration, pero no escriba en la base de datos de origen durante la migración. |
|
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 el mapeo de nombres de objetos para renombrar las tablas en conflicto. Ignore Errors and Proceed: omite la comprobación previa para nombres de tablas idénticos. Durante la migración completa, los registros en conflicto en el destino se conservan (no se sobrescriben). Durante la migración incremental, los registros en conflicto se sobrescriben. Úselo con precaución. |
|
SQL Server Incremental Synchronization Mode |
Consulte Elección del modo de sincronización a continuación. |
|
Source Objects |
Seleccione objetos en la sección Source Objects y haga clic en el icono de flecha derecha para moverlos a Selected Objects. Puede seleccionar columnas, tablas o esquemas. Al seleccionar tablas o columnas se excluyen vistas, desencadenadores y procedimientos almacenados. |
|
Selected Objects |
Para renombrar un solo objeto, haga clic derecho sobre él y consulte Mapear el nombre de un solo objeto. Para renombrar varios objetos a la vez, haga clic en Batch Edit. Consulte Mapear varios nombres de objetos a la vez. Para filtrar filas con condiciones SQL, haga clic derecho en un objeto y especifique las condiciones. Consulte Use SQL conditions to filter data. Para seleccionar qué operaciones SQL replicar para un objeto específico, haga clic derecho en el objeto y seleccione las operaciones. |
Renombrar un objeto con la función de mapeo de nombres de objetos puede provocar que otros objetos dependientes fallen en la migración.
Elección del modo de sincronización
Seleccione SQL Server Incremental Synchronization Mode según su base de datos de origen y los tipos de tablas.
|
Modo |
Ventajas |
Desventajas |
|
Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (análisis híbrido basado en registros) |
Admite tablas heap, tablas sin claves primarias, tablas comprimidas y tablas con columnas calculadas. Mayor estabilidad y compatibilidad total con DDL. |
DTS crea |
|
Incremental Synchronization Based on Logs of Source Database (tablas heap no compatibles) |
No modifica la configuración de la base de datos de origen. |
No admite tablas heap, tablas sin claves primarias, tablas comprimidas ni tablas con columnas calculadas. Las tablas deben tener índices clúster que contengan columnas de clave primaria. |
|
Polling and querying CDC instances for incremental synchronization |
Admite migración desde Amazon RDS SQL Server, Azure SQL Database y Google Cloud SQL for SQL Server. Utiliza el componente nativo de CDC para mayor estabilidad con menor consumo de ancho de banda de red. |
La cuenta de DTS debe tener permiso para habilitar CDC. La migración incremental tarda aproximadamente 10 segundos en iniciarse. Puede presentar problemas de estabilidad y rendimiento al migrar varias tablas en múltiples bases de datos. |
En el modo híbrido de análisis basado en registros, DTS también habilita CDC para la base de datos de origen y tablas específicas.
Paso 6: Configurar opciones avanzadas
Haga clic en Next: Advanced Settings y configure los siguientes parámetros.
Configuración de verificación de datos
Para habilitar la verificación de datos después de la migración, consulte Habilitar verificación de datos.
Configuración avanzada
|
Parámetro |
Descripción |
|
Dedicated Cluster for Task Scheduling |
De forma predeterminada, DTS programa las tareas en un clúster compartido. Para usar un clúster dedicado, adquiera uno primero. Consulte ¿Qué es un clúster dedicado de DTS? |
|
Set Alerts |
Seleccione Yes para recibir notificaciones cuando la tarea falle o la latencia de migración supere un umbral. Configure el umbral de alerta y la configuración de notificaciones. Consulte Configurar monitoreo y alertas. |
|
Retry Time for Failed Connections |
Tiempo durante el cual DTS reintenta una conexión fallida después de iniciar la tarea. Valores válidos: 10–1,440 minutos. Valor predeterminado: 720. Se recomienda establecer este parámetro en un valor mayor a 30. Si DTS se reconecta dentro de este periodo, la tarea se reanuda. De lo contrario, la tarea falla. Si varias tareas comparten la misma base de datos de origen o destino, prevalece el tiempo de reintento más corto. DTS cobra por la instancia durante los reintentos. |
|
Retry Time for Other Issues |
Tiempo durante el cual DTS reintenta operaciones DDL o DML fallidas. Valores válidos: 1–1,440 minutos. Valor predeterminado: 10. Se recomienda establecer este parámetro en un valor mayor a 10. Debe ser menor que Retry Time for Failed Connections. |
|
Enable Throttling for Full Data Migration |
Seleccione Yes para limitar la carga de lectura/escritura durante la migración completa. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration y BPS of Full Data Migration según sea necesario. Disponible solo cuando se selecciona Full Data Migration. |
|
Enable Throttling for Incremental Data Migration |
Seleccione Yes para limitar la carga durante la migración incremental. Configure RPS of Incremental Data Migration y BPS of Incremental Data Migration según sea necesario. Disponible solo cuando se selecciona Incremental Data Migration. |
|
Environment Tag |
Etiquete la instancia como Regular o Production Environment según su entorno. |
|
Configure ETL |
Seleccione Yes para habilitar la función de extracción, transformación y carga (ETL) e introducir sentencias de procesamiento de datos. Consulte Configurar ETL y ¿Qué es ETL? |
Paso 7: Ejecutar la comprobación previa
Haga clic en Next: Save Task Settings and Precheck.
Para previsualizar los parámetros de la API correspondientes a 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 migración. La tarea solo puede continuar después de aprobar dicha comprobación.
Si un elemento de comprobación falla, haga clic en View Details, resuelva el problema y luego haga clic en Precheck Again.
-
Si un elemento de comprobación muestra una alerta:
Si la alerta no se puede ignorar, haga clic en View Details, corrija el problema y vuelva a ejecutar la comprobación previa.
Si la alerta se puede ignorar de forma segura, haga clic en Confirm Alert Details > Ignore > OK > Precheck Again. Ignorar una alerta puede resultar en inconsistencia de datos.
Paso 8: Adquirir la instancia
Espere hasta que Success Rate alcance 100% y luego haga clic en Next: Purchase Instance.
En la página Purchase Instance, configure lo siguiente:
| Sección | Parámetro | Descripción |
|---|---|---|
| New Instance Class | Resource Group Settings | 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. Selecciónela según el volumen de datos y el cronograma. Consulte Especificaciones de las instancias de migración de datos. |
Paso 9: Iniciar la migración
Lea y seleccione la casilla de verificación Data Transmission Service (Pay-as-you-go) Service Terms.
Haga clic en Buy and Start y luego haga clic en OK en el cuadro de diálogo.
La tarea aparecerá en la lista de tareas. Monitoree su progreso desde allí.
Pasos siguientes
Una vez completada la tarea de migración y cuando la latencia de la migración incremental baje a casi cero:
Detenga las escrituras en la base de datos de origen.
Espere a que la latencia de la migración incremental llegue a 0 segundos.
Cambie las cadenas de conexión de su aplicación a la instancia de destino de ApsaraDB RDS for SQL Server.
Compruebe la consistencia de los datos entre el origen y el destino.
Detenga o libere la tarea de migración de DTS.