Todos los productos
Search
Centro de documentos

AnalyticDB:Sincronización de datos de SQL Server en ECS a AnalyticDB for PostgreSQL

Última actualización: Oct 12, 2026

Data Transmission Service (DTS) admite la sincronización incremental de datos en tiempo real desde una base de datos SQL Server creada por el usuario hacia una instancia de AnalyticDB for PostgreSQL.

Requisitos previos

  • La base de datos SQL Server creada por el usuario debe ejecutar la versión 2008, 2008 R2, 2012, 2014, 2016, 2017 o 2019.

    Nota

    Si la base de datos SQL Server se despliega en un grupo de disponibilidad Always On, debe usar el modo de confirmación sincrónica.

  • Las tablas que se van a sincronizar desde la base de datos SQL Server deben tener una clave primaria o un índice único no nulo para garantizar la idempotencia de los datos.

  • La instancia de destino de AnalyticDB for PostgreSQL debe contar con más almacenamiento disponible del que utiliza la base de datos SQL Server de origen.

Notas de uso

  • Durante la inicialización completa de datos, DTS consume recursos de lectura y escritura de las bases de datos de origen y destino, lo cual puede aumentar su carga. Cuando las bases de datos tienen un rendimiento bajo, especificaciones reducidas o cargas de trabajo pesadas (por ejemplo, una gran cantidad de sentencias SQL lentas, tablas sin claves primarias o interbloqueos en la base de datos de destino), la presión sobre ellas puede incrementarse aún más y provocar que los servicios no estén disponibles. Por lo tanto, evalúe el rendimiento de ambas bases de datos antes de iniciar la sincronización. Se recomienda ejecutar este proceso durante las horas de menor actividad (por ejemplo, cuando la carga de CPU de ambas bases de datos sea inferior al 30 %).

  • Los objetos se pueden seleccionar a nivel de tabla. DTS no admite la sincronización de tablas optimizadas para anexión (AO). Las asignaciones de columnas se pueden modificar. Si utiliza la asignación de columnas sin sincronizar toda la tabla, o si los esquemas de origen y destino son inconsistentes, se perderán los datos de las columnas que solo existan en la tabla de origen.

  • Evite realizar copias de seguridad frecuentes en la base de datos de origen. Conserve los registros durante como mínimo tres días para prevenir fallos de recuperación tras el truncamiento de los registros.

  • DTS agrega una tabla de latidos a la base de datos SQL Server creada por el usuario para rastrear la latencia de sincronización. El nombre de la tabla sigue el formato <table_name>_dts_mysql_heartbeat.

Facturación

Tipo de sincronización

Precio

Sincronización de esquemas y sincronización completa de datos

Sin costo.

Sincronización incremental de datos

De pago. Para obtener más información, consulte Billing overview.

Limitaciones

  • DTS no admite la sincronización de esquemas ni de estructuras de tabla para ensamblados, service brokers, índices de texto completo, catálogos de texto completo, esquemas distribuidos, funciones distribuidas, procedimientos almacenados CLR, funciones con valor escalar CLR, funciones con valor de tabla CLR, tablas internas, tablas del sistema o funciones de agregado.

  • DTS no sincroniza datos de los siguientes tipos: TIMESTAMP, CURSOR, ROWVERSION, HIERARCHYID, SQL_VARIANT, SPATIAL GEOMETRY, SPATIAL GEOGRAPHY y TABLE.

  • DTS no sincroniza tablas que contengan columnas calculadas.

Operaciones SQL compatibles

  • Operaciones DML: INSERT, UPDATE, DELETE

  • Operación DDL: ADD COLUMN

    Nota

    DTS no migra operaciones DDL transaccionales.

Permisos de cuenta

Base de datos

Permisos obligatorios

Creación de cuentas y autorización

Instancia de SQL Server creada por el usuario

sysadmin

Instancia de AnalyticDB for PostgreSQL

  • Permiso LOGIN.

  • Permisos SELECT, CREATE, INSERT, UPDATE y DELETE sobre las tablas de destino.

  • Permisos CONNECT y CREATE sobre la base de datos de destino.

  • Permiso CREATE sobre el esquema de destino.

  • Permiso COPY (para operaciones de copia por lotes basadas en memoria).

Nota

También puede utilizar la cuenta inicial de la instancia de AnalyticDB for PostgreSQL.

Preparativos

Configure los ajustes de registro y cree un índice agrupado en la base de datos SQL Server de origen antes de configurar la tarea de sincronización.

  1. En la base de datos SQL Server creada por el usuario, ejecute el siguiente comando para cambiar el modelo de recuperación de la base de datos de origen a FULL. También puede modificar esta configuración mediante un cliente SSMS. Para obtener más información, consulte Ver o cambiar el modelo de recuperación de una base de datos.

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

    Parámetros:

    <database_name>: el nombre de la base de datos de origen.

    Ejemplo:

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

    BACKUP DATABASE <database_name> TO DISK='<physical_backup_device_name>';
    GO

    Parámetros:

    • <database_name>: el nombre de la base de datos de origen.

    • <physical_backup_device_name>: la ruta y el nombre del archivo de copia de seguridad.

    Ejemplo:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. Cree una copia de seguridad de los registros de la base de datos de origen ejecutando el siguiente comando.

    BACKUP LOG <database_name> to DISK='<physical_backup_device_name>' WITH init;
    GO

    Parámetros:

    • <database_name>: el nombre de la base de datos de origen.

    • <physical_backup_device_name>: la ruta y el nombre del archivo de copia de seguridad.

    Ejemplo:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO
  4. Cree un índice agrupado para las tablas que se van a sincronizar. Para obtener más información, consulte Crear índices agrupados.

Procedimiento

  1. Adquiera una instancia de sincronización de datos. Para obtener más información, consulte Purchase procedure.

    Nota

    En la página de compra, establezca el parámetro SQL Server en SQL Server, el parámetro Destination Instance en AnalyticDB for PostgreSQL y el parámetro One-way Synchronization en One-way Synchronization.

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

  3. En el panel de navegación izquierdo, haga clic en Data Synchronization.

  4. En la parte superior de la página Synchronization Tasks, seleccione la región donde se encuentra la instancia de destino.

  5. Busque su tarea de sincronización de datos y haga clic en Configure Synchronization Channel.

  6. Configure las instancias de origen y destino.

    Categoría

    Parámetro

    Descripción

    N/D

    Synchronization Task Name

    DTS genera automáticamente un nombre para la tarea. Especifique un nombre descriptivo que facilite su identificación. No es obligatorio que el nombre sea único.

    Source Instance Details

    Instance Type

    Seleccione la ubicación de despliegue de la base de datos de origen. Este ejemplo utiliza User-Created Database in ECS Instance.

    Nota

    Si selecciona un tipo de instancia diferente, se requieren preparativos adicionales. Para obtener más información, consulte Preparation overview.

    Instance Region

    La región que seleccionó al adquirir la instancia de sincronización de datos. Esta configuración no se puede modificar.

    ECS Instance ID

    Seleccione la instancia de ECS que aloja la base de datos de origen.

    Database Type

    El tipo de base de datos, fijado como SQL Server.

    Port Number

    El puerto de servicio de la base de datos creada por el usuario. Valor predeterminado: 1433.

    Database Account

    Introduzca la cuenta de la base de datos de origen. Para conocer los requisitos de permisos, consulte Account permissions.

    Database Password

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

    Connection Mode

    Seleccione Non-encrypted o SSL-encrypted según sus necesidades.

    Nota

    Actualmente, la configuración Encryption solo es compatible con regiones de China continental y la región China (Hong Kong).

    Destination Instance Details

    Instance Type

    Seleccione AnalyticDB for PostgreSQL.

    Instance Region

    La región que seleccionó al adquirir la instancia de sincronización de datos. Esta configuración no se puede modificar.

    Instance ID

    Seleccione la instancia de AnalyticDB for PostgreSQL de destino.

    Database Name

    Introduzca el nombre de la base de datos de destino.

    Database Account

    Introduzca la cuenta de la instancia de AnalyticDB for PostgreSQL. Para conocer los requisitos de permisos, consulte Account permissions.

    Database Password

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

  7. En la esquina inferior derecha de la página, haga clic en Set Whitelist and Next.

    Si la base de datos de origen o de destino es una instancia de base de datos de Alibaba Cloud, como una instancia de ApsaraDB RDS for MySQL o de ApsaraDB for MongoDB, DTS agrega automáticamente los bloques CIDR de los servidores de DTS a la lista blanca de direcciones IP de dicha instancia. Si la base de datos de origen o de destino es una base de datos autogestionada alojada en una instancia de Elastic Compute Service (ECS), DTS agrega automáticamente los bloques CIDR de sus servidores a las reglas del security group de la instancia de ECS, y usted debe asegurarse de que la instancia de ECS pueda acceder a la base de datos. Si la base de datos autogestionada está alojada en varias instancias de ECS, agregue manualmente los bloques CIDR de los servidores de DTS a las reglas del security group de cada instancia de ECS. Si la base de datos de origen o de destino es una base de datos autogestionada desplegada en un centro de datos o proporcionada por un proveedor de servicios en la nube externo, agregue manualmente los bloques CIDR de los servidores de DTS a la lista blanca de direcciones IP de la base de datos para permitir el acceso de DTS. Para obtener más información, consulte Whitelist DTS server IP addresses.

    Aviso

    Agregar los bloques CIDR de direcciones IP públicas de los servidores de DTS, ya sea de forma automática o manual, puede representar riesgos de seguridad. Al utilizar este producto, usted reconoce y acepta estos riesgos potenciales. Implemente protecciones de seguridad básicas, entre las que se incluyen, sin limitarse a ello, fortalecer la seguridad de las contraseñas, restringir los puertos abiertos para los bloques CIDR, utilizar autenticación en la comunicación interna de API y revisar periódicamente los bloques CIDR innecesarios para restringirlos. Como alternativa, puede conectarse a la base de datos a través de una red interna, como una línea dedicada, una VPN Gateway o una Smart Access Gateway.

  8. Configure la política y los objetos de sincronización.

    Configuración

    Descripción

    Tipos de sincronización

    De manera predeterminada, se seleccionan Initial Schema Synchronization, Full Data Synchronization y Incremental Data Synchronization. Una vez finalizada la comprobación previa, DTS sincroniza los esquemas y los datos existentes de los objetos seleccionados hacia la base de datos de destino para establecer una línea base de la sincronización incremental.

    Modo de procesamiento para tablas de destino existentes

    • Precheck and Report Errors: DTS comprueba si existen tablas de destino con el mismo nombre que las tablas de origen. La comprobación previa se aprueba si no se encuentran coincidencias. Si existe alguna tabla coincidente, la comprobación falla y la tarea no se inicia.

      Nota

      Si la base de datos de destino ya contiene una tabla con el mismo nombre que no se puede eliminar ni renombrar, cambie el nombre de la tabla de destino. Para obtener más información, consulte Rename a synchronization object in the destination instance.

    • Ignore Errors and Proceed: omite la comprobación de tablas con nombres idénticos en la base de datos de destino.

      Aviso

      Seleccionar Ignore Errors and Proceed puede causar inconsistencias en los datos. Por ejemplo:

      • Si los esquemas coinciden y un registro de destino tiene la misma clave primaria que un registro de origen, se conserva el registro de destino y no se sincroniza el de origen.

      • Si los esquemas difieren, la sincronización inicial de datos puede fallar o sincronizar únicamente un subconjunto de columnas.

    Fusión de tablas

    • Yes: en escenarios OLTP, suele utilizarse la fragmentación para mejorar los tiempos de respuesta. AnalyticDB for PostgreSQL permite almacenar grandes volúmenes de datos en una sola tabla, lo que simplifica las consultas. Mediante la fusión de tablas, puede sincronizar varias tablas de origen con el mismo esquema hacia una única tabla de AnalyticDB for PostgreSQL.

      Nota
      • Después de seleccionar varias tablas de origen, utilice la función de asignación de nombres de objetos para mapearlas a una sola tabla en AnalyticDB for PostgreSQL. Para obtener más información, consulte Rename a synchronization object in the destination instance.

      • Debe agregar una columna __dts_data_source de tipo TEXT a la tabla de destino para rastrear el origen de los datos. DTS escribe valores con el formato <DTS data synchronization instance ID>:<source database name>.<source schema name>.<source table name>, por ejemplo, dts****:dtstestdata.testschema.customer1.

      • La fusión de tablas es una función a nivel de tarea y no se puede aplicar a tablas individuales. Si necesita fusionar algunas tablas pero otras no, cree dos tareas de sincronización independientes.

    • No: es la opción predeterminada.

    Tipos de operación

    Seleccione los tipos de operación que desea sincronizar según sus necesidades de negocio. Todos los tipos de operación están seleccionados de forma predeterminada.

    Objetos de sincronización

    En el cuadro Source Objects, haga clic en los objetos que desea sincronizar y luego haga clic en el ícono 向右小箭头 para moverlos al cuadro Selected Objects.

    Dado que se trata de un escenario de sincronización heterogénea, solo se pueden sincronizar tablas. Otros objetos, como vistas, desencadenadores y procedimientos almacenados, no son compatibles.

    Nota
    • De manera predeterminada, los nombres de los objetos sincronizados no se modifican. Para utilizar nombres distintos en la instancia de destino, consulte Rename a synchronization object in the destination instance.

    • Si establece Merge Tables en Yes, debe utilizar la función de asignación de nombres de objetos para mapear las tablas de origen seleccionadas a un único nombre de tabla en AnalyticDB for PostgreSQL.

    Agregar comillas a los nombres de objeto

    Especifica si se deben entrecomillar los nombres de los objetos de destino. Si selecciona Yes y se cumple alguna de las siguientes condiciones, DTS agregará comillas a los nombres de los objetos de destino durante la sincronización de esquemas y la sincronización incremental de datos:

    • El entorno de la base de datos de origen distingue entre mayúsculas y minúsculas, y utiliza nombres con combinación de ambas.

    • El nombre de la tabla de origen no comienza con una letra, o contiene caracteres distintos a letras, números y caracteres especiales admitidos.

      Nota

      Solo se admiten guiones bajos (_), signos de número (#) y signos de dólar ($) como caracteres especiales.

    • El nombre del esquema, tabla o columna que se va a sincronizar es una palabra clave, una palabra reservada o un carácter no válido en la base de datos de destino.

    Nota

    Si agrega comillas, deberá utilizar los nombres entrecomillados al consultar los objetos después de la sincronización.

    Editar nombres asignados

    Cambie los nombres de los objetos sincronizados en la instancia de destino. Para obtener más información, consulte Map databases, tables, and columns.

    Duración de reintento de conexión

    Si DTS no logra conectarse a la instancia de origen o de destino, reintenta la conexión durante 720 minutos (12 horas) de forma predeterminada. También puede especificar una duración de reintento personalizada. Si DTS se reconecta a la instancia de origen o de destino dentro del tiempo indicado, la tarea de sincronización se reanuda automáticamente. De lo contrario, la tarea falla.

    Nota

    Se le cobra por el tiempo de ejecución de la tarea durante los reintentos de conexión. Personalice la duración de reintento según sus necesidades de negocio, o libere la instancia de DTS tan pronto como libere las instancias de origen y destino.

  9. Configure el tipo de tabla, las columnas de clave primaria y la clave de distribución para las tablas de destino en AnalyticDB for PostgreSQL.

    Nota

    Para obtener más información sobre las columnas de clave primaria y la clave de distribución, consulte Table constraints y Table distribution key.

  10. Una vez completadas las configuraciones anteriores, haga clic en Precheck and Start en la esquina inferior derecha de la página.

    Nota
    • Antes de iniciar formalmente la tarea de sincronización, se ejecuta una comprobación previa. La tarea solo se puede iniciar si esta comprobación se aprueba.

    • Si la comprobación previa falla, haga clic en el ícono Prompt junto al elemento específico para consultar los detalles del fallo.

      • Siga las indicaciones para corregir el problema y vuelva a ejecutar la comprobación previa.

      • Si no necesita corregir los elementos de advertencia, también puede seleccionar Ignore, Ignore Warning Items and Rerun Precheck para omitir dichos elementos y volver a ejecutar la comprobación previa.

  11. Cuando el cuadro de diálogo Precheck muestre Precheck Passed, cierre dicho cuadro de diálogo Precheck. La tarea de sincronización se iniciará.

  12. Espere a que la tarea complete la inicialización y pase al estado Synchronizing.

    Puede consultar el estado de la tarea de sincronización de datos en la página Data Synchronization.