Uso de una base SQL de datos de Microsoft Server como fuente para AWS DMS - AWS Database Migration Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de una base SQL de datos de Microsoft Server como fuente para AWS DMS

Migre datos de una o varias bases de datos de Microsoft SQL Server mediante AWS DMS. Con una base de datos de SQL servidor como origen, puede migrar los datos a otra base de datos de SQL servidor o a una de las otras bases de datos AWS DMS compatibles.

Para obtener información sobre las versiones de SQL Server que se AWS DMS admiten como fuente, consulteFuentes de AWS DMS.

La base de datos SQL del servidor de origen se puede instalar en cualquier equipo de la red. Para poder utilizarla, es necesaria una cuenta de SQL servidor con los privilegios de acceso adecuados a la base de datos de origen para el tipo de tarea que elija AWS DMS. Para obtener más información, consulte Permisos para las tareas SQL del servidor.

AWS DMS admite la migración de datos desde instancias designadas del SQL servidor. Puede utilizar las siguientes notaciones en el nombre del servidor al crear el punto de enlace de origen.

IPAddress\InstanceName

Por ejemplo, el siguiente es un nombre de servidor de punto de enlace de origen correcto. En este caso, la primera parte del nombre es la dirección IP del servidor y la segunda parte es el nombre de la instancia SQL del servidor (en este ejemplo,SQLTest).

10.0.0.25\SQLTest

Además, obtenga el número de puerto en el que escucha la instancia de SQL servidor designada y utilícelo para configurar el punto final de AWS DMS origen.

nota

El puerto 1433 es el predeterminado de Microsoft SQL Server. Sin embargo, también suelen utilizarse puertos dinámicos que cambian cada vez que se inicia el SQL servidor y números de puerto estáticos específicos que se utilizan para conectarse al SQL servidor a través de un firewall. Por lo tanto, querrá saber el número de puerto real de la instancia de SQL servidor designada al crear el punto final de AWS DMS origen.

Puede utilizarlo SSL para cifrar las conexiones entre el punto final SQL del servidor y la instancia de replicación. Para obtener más información sobre el uso SSL con un punto final de SQL servidor, consulteUso de SSL con AWS Database Migration Service.

Se puede utilizar CDC para una migración continua desde una base de datos SQL del servidor. Para obtener información sobre cómo configurar la base de datos SQL del servidor de origen paraCDC, consulteCapturar cambios en los datos para una replicación continua desde el SQL servidor.

Para obtener más información sobre cómo trabajar con las bases de datos fuente del SQL servidor AWS DMS, consulte lo siguiente.

Limitaciones en el uso SQL del servidor como fuente para AWS DMS

Se aplican las siguientes limitaciones cuando se utiliza una base de datos de SQL servidor como fuente para AWS DMS:

  • La propiedad de identidad para una columna no se migra a una columna de la base de datos de destino.

  • El punto final SQL del servidor no admite el uso de tablas con columnas dispersas.

  • No se admite la autenticación de Windows.

  • Los cambios en los campos calculados de un SQL servidor no se replican.

  • No se permite usar tablas temporales.

  • SQLNo se admite el cambio de partición del servidor.

  • Al utilizar las UPDATETEXT utilidades WRITETEXT y, AWS DMS no captura los eventos aplicados a la base de datos de origen.

  • No se admite el siguiente patrón de lenguaje de manipulación de datos (DML).

    SELECT * INTO new_table FROM existing_table
  • Cuando se utiliza el SQL servidor como fuente, no se admite el cifrado a nivel de columna.

  • AWS DMS no admite auditorías a nivel de servidor en SQL Server 2008 o SQL Server 2008 R2 como fuentes. Esto se debe a un problema conocido con SQL Server 2008 y 2008 R2. Por ejemplo, si se ejecuta el siguiente comando, se produce AWS DMS un error.

    USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO
  • Las columnas geométricas no se admiten en el modo lob completo cuando se utiliza el SQL servidor como fuente. En su lugar, utilice el modo de LOB limitado o establezca la opción de la tarea InlineLobMaxSize para que utilice el modo de LOB insertado.

  • Cuando se utiliza una base de datos de origen de Microsoft SQL Server en una tarea de replicación, las definiciones de SQL Server Replication Publisher no se eliminan si se quita la tarea. Un administrador SQL del sistema Microsoft Server debe eliminar esas definiciones de Microsoft SQL Server.

  • La migración de datos desde non-schema-bound vistas y enlazados a un esquema solo se admite para tareas de carga completa.

  • No se admite el cambio de nombre de las tablas mediante sp_rename (por ejemplo, sp_rename 'Sales.SalesRegion', 'SalesReg;)

  • No se admite el cambio de nombre de las columnas mediante sp_rename (por ejemplo, sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';)

  • AWS DMS no admite el procesamiento de cambios para establecer y desestablecer los valores predeterminados de las columnas (utilizando la ALTER COLUMN SET DEFAULT cláusula con declaraciones). ALTER TABLE

  • AWS DMS no admite el procesamiento de cambios para establecer la nulabilidad de las columnas (se usa la ALTER COLUMN [SET|DROP] NOT NULL cláusula con ALTER TABLE declaraciones).

  • En SQL Server 2012 y SQL Server 2014, cuando se utiliza la DMS replicación con grupos de disponibilidad, la base de datos de distribución no se puede colocar en un grupo de disponibilidad. SQLEn 2016 se permite colocar la base de datos de distribución en un grupo de disponibilidad, excepto en el caso de las bases de datos de distribución utilizadas en topologías de fusión, bidireccionales o de peer-to-peer replicación.

  • En el caso de las tablas particionadas, AWS DMS no admite diferentes configuraciones de compresión de datos para cada partición.

  • Al insertar un valor en los tipos de datos espaciales SQL del servidor (GEOGRAPHYyGEOMETRY), puede ignorar la propiedad del identificador del sistema de referencia espacial (SRID) o especificar un número diferente. Al replicar tablas con tipos de datos espaciales, AWS DMS reemplaza el SRID valor por el predeterminado SRID (0 para GEOMETRY y 4326 paraGEOGRAPHY).

  • Si su base de datos no está configurada para MS- REPLICATION o MS-CDC, puede capturar tablas que no tengan una clave principal, pero que solo se capturen DELETE DML los eventos INSERT o eventos. UPDATEy TRUNCATE TABLE los eventos se ignoran.

  • No se admiten los índices de Columnstore.

  • No se admiten las tablas optimizadas para memoria (que utilizan In-MemoryOLTP).

  • Al replicar una tabla con una clave principal que consta de varias columnas, no se admite la actualización de las columnas de clave principal durante la carga completa.

  • No se admite la durabilidad retardada.

  • La configuración de readBackupOnly=Y punto final (atributo de conexión adicional) no funciona en las instancias fuente SQL del servidor debido a la forma RDS en RDS que se realizan las copias de seguridad.

  • EXCLUSIVE_AUTOMATIC_TRUNCATIONno funciona en las instancias fuente de Amazon RDS SQL Server porque RDS los usuarios no tienen acceso para ejecutar el procedimiento almacenado en el SQL servidor,sp_repldone.

  • AWS DMS no captura los comandos truncados.

  • AWS DMS no admite la replicación desde bases de datos con la recuperación acelerada de bases de datos activada (ADR).

  • AWS DMS no admite la captura de sentencias del lenguaje de definición de datos (DDL) y del lenguaje de manipulación de datos (DML) en una sola transacción.

  • AWS DMS no admite la replicación de paquetes de aplicaciones de nivel de datos (DACPAC).

  • UPDATElas instrucciones que implican claves principales o índices únicos y actualizan varias filas de datos pueden provocar conflictos al aplicar cambios a la base de datos de destino. Esto puede ocurrir, por ejemplo, cuando la base de datos de destino aplica las actualizaciones como DELETE sentencias INSERT y en lugar de aplicar una sola UPDATE sentencia. Con el modo de aplicación optimizado por lotes, es posible que se ignore la tabla. Con el modo de aplicación transaccional, la UPDATE operación puede provocar infracciones de las restricciones. Para evitar este problema, vuelva a cargar la tabla correspondiente. Como alternativa, localice los registros problemáticos en la tabla de control de aplicación de excepciones (dmslogs.awsdms_apply_exceptions) y edítelos manualmente en la base de datos de destino. Para obtener más información, consulte Configuración de ajuste del procesamiento de cambios.

  • AWS DMS no admite la replicación de tablas y esquemas, donde el nombre incluye un carácter especial del siguiente conjunto.

    \\ -- \n \" \b \r ' \t ;

  • No se admite el enmascaramiento de datos. AWS DMS migra los datos enmascarados sin enmascararlos.

  • AWS DMS replica hasta 32 767 tablas con claves principales y hasta 1000 columnas para cada tabla. Esto se debe a que AWS DMS crea un artículo de replicación de SQL servidores para cada tabla replicada, y los artículos de replicación de SQL servidores tienen estas limitaciones.

  • Al utilizar Change Data Capture (CDC), debe definir todas las columnas que componen un índice único comoNOT NULL. Si no se cumple este requisito, se producirá el error 22838 SQL del sistema del servidor.

  • Puede perder eventos si el SQL servidor los archiva del registro de transacciones activo al registro de respaldo o los trunca del registro de transacciones activo.

Se aplican las siguientes limitaciones al acceder a los registros de transacciones de copia de seguridad:

  • Las copias de seguridad cifradas no son compatibles.

  • No se admiten las copias de seguridad almacenadas en Windows Azure URL o en Windows Azure.

  • AWS DMS no admite el procesamiento directo de las copias de seguridad del registro de transacciones a nivel de archivo desde carpetas compartidas alternativas.

  • Para fuentes de Cloud SQL Server distintas de Amazon RDS para Microsoft SQL Server, AWS DMS admite la replicación continua (CDC) únicamente con el registro de transacciones activo. No puedes usar el registro de respaldo conCDC. Puede perder los eventos si el SQL servidor los archiva del registro de transacciones activo en el registro de respaldo o los trunca del registro de transacciones activo antes de DMS poder leerlo.

  • En el caso de las fuentes de Amazon RDS para Microsoft SQL Server, la AWS DMS versión 3.5.2 y versiones anteriores admiten la replicación continua (CDC) únicamente con el registro de transacciones activo, ya que no DMS se puede acceder al registro de copias de seguridad con CDC él. Puede perder eventos si RDS For SQL Server los archiva del registro de transacciones activo al registro de copias de seguridad o los trunca del registro de transacciones activo antes de DMS poder leerlo. Esta limitación no se aplica a la AWS DMS versión 3.5.3 y versiones posteriores.

Permisos para las tareas SQL del servidor

Permisos para tareas que son solo de carga completa

Los siguientes permisos son necesarios para realizar tareas que son solo de carga completa. Tenga en cuenta que AWS DMS esto no crea el dms_user inicio de sesión. Para obtener información sobre cómo crear un inicio de sesión para el SQL servidor, consulteCreación de un usuario de base de datos con Microsoft SQL Server.

USE db_name; CREATE USER dms_user FOR LOGIN dms_user; ALTER ROLE [db_datareader] ADD MEMBER dms_user; GRANT VIEW DATABASE STATE to dms_user; GRANT VIEW DEFINITION to dms_user; USE master; GRANT VIEW SERVER STATE TO dms_user;

Permisos para tareas con replicación continua

Las instancias de SQL servidor autogestionadas se pueden configurar para una replicación continua DMS con o sin el sysadmin rol. En el caso de las instancias de SQL servidor, en las que no puedes conceder la sysadmin función, asegúrate de que el DMS usuario tenga los privilegios que se describen a continuación.

Configure los permisos para la replicación continua desde una base de datos de SQL servidor autogestionada
  1. Cree una nueva cuenta de SQL servidor con autenticación mediante contraseña mediante SQL Server Management Studio (SSMS) o como se describió anteriormentePermisos para tareas que son solo de carga completa, por ejemplo, self_managed_user en.

  2. Ejecute los siguientes GRANT comandos:

    GRANT VIEW SERVER STATE TO self_managed_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO self_managed_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO self_managed_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO self_managed_user; USE db_name; CREATE USER self_managed_user FOR LOGIN self_managed_user; ALTER ROLE [db_owner] ADD MEMBER self_managed_user; GRANT VIEW DEFINITION to self_managed_user;
  3. Además de los permisos anteriores, el usuario necesita uno de los siguientes:

Configure los permisos para la replicación continua desde una base de datos de SQL servidor en la nube

Una instancia de SQL servidor alojada en la nube es una instancia que se ejecuta en Amazon RDS para Microsoft SQL Server, una instancia SQL gestionada por Azure o cualquier otra instancia de SQL servidor en la nube gestionada DMS compatible con.

Cree una nueva cuenta de SQL servidor con autenticación mediante contraseña mediante SQL Server Management Studio (SSMS) o tal como se describió anteriormentePermisos para tareas que son solo de carga completa, por ejemplo, rds_user en.

Ejecute los siguientes comandos Grant.

GRANT VIEW SERVER STATE TO rds_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO rds_user; USE db_name; CREATE USER rds_user FOR LOGIN rds_user; ALTER ROLE [db_owner] ADD MEMBER rds_user; GRANT VIEW DEFINITION to rds_user;

En el caso de las fuentes de Amazon RDS para Microsoft SQL Server, la DMS versión 3.5.3 y las versiones posteriores admiten la lectura de copias de seguridad del registro de transacciones. Para asegurarse DMS de poder acceder a las copias de seguridad de los registros, además de lo anterior, conceda privilegios de master usuario o los siguientes privilegios en una fuente de RDS SQL servidor:

//DMS 3.5.3 version onwards GRANT EXEC ON msdb.dbo.rds_dms_tlog_download TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_read TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_list_current_lsn TO rds_user; GRANT EXEC ON msdb.dbo.rds_task_status TO rds_user;

Requisitos previos para utilizar la replicación continua (CDC) desde una fuente de SQL servidor

Puede utilizar la replicación continua (captura de datos de cambios oCDC) para una base de datos de SQL servidor autogestionada local o en AmazonEC2, o una base de datos en la nube como Amazon RDS o una instancia SQL gestionada de Microsoft Azure.

Los siguientes requisitos se aplican específicamente cuando se utiliza la replicación continua con una base de datos de SQL servidor como fuente para: AWS DMS

  • SQLEl servidor debe estar configurado para realizar copias de seguridad completas y usted debe realizar una copia de seguridad antes de empezar a replicar los datos.

  • El modelo de recuperación debe establecerse en Bulk logged o Full.

  • SQLNo se admite la copia de seguridad del servidor en varios discos. Si la copia de seguridad está definida para grabar la copia de seguridad de la base de datos en varios archivos en discos diferentes, no AWS DMS se pueden leer los datos y la AWS DMS tarea produce un error.

  • En el caso de las fuentes de SQL servidor autogestionadasSQL, las definiciones de Server Replication Publisher para la fuente utilizada en una DMS CDC tarea no se eliminan al eliminar la tarea. El administrador SQL del sistema de servidores debe eliminar estas definiciones del SQL servidor para las fuentes autogestionadas.

  • DuranteCDC, AWS DMS necesita buscar las copias de seguridad del registro de transacciones SQL del servidor para leer los cambios. AWS DMS no admite las copias de seguridad del registro de transacciones SQL del servidor creadas con software de respaldo de terceros que no esté en formato nativo. Para admitir las copias de seguridad del registro de transacciones que están en formato nativo y creadas con software de copia de seguridad de terceros, agregue el atributo de conexión use3rdPartyBackupDevice=Y al punto de conexión de origen.

  • En el caso de las fuentes de SQL servidor autogestionadas, tenga en cuenta que SQL Server no captura los cambios en las tablas recién creadas hasta que se publiquen. Cuando se agregan tablas a una fuente de SQL servidor, AWS DMS gestiona la creación de la publicación. Sin embargo, este proceso puede prolongarse algunos minutos. Las operaciones efectuadas en tablas de nueva creación durante este intervalo no se capturan ni replican en el destino.

  • AWS DMS La captura de datos de cambios requiere que el registro completo de transacciones esté activado en el SQL servidor. Para activar el registro completo de transacciones en el SQL servidor, habilite MS- REPLICATION o CHANGE DATA CAPTURE (CDC).

  • SQLLas entradas del registro del servidor no se marcarán para su reutilización hasta que el trabajo de CDC captura de MS procese esos cambios.

  • CDClas tablas optimizadas para memoria no admiten operaciones. Esta limitación se aplica a SQL Server 2014 (cuando se introdujo la función por primera vez) y versiones posteriores.

  • AWS DMS la captura de datos de cambios requiere una base de datos de distribución de forma predeterminada en Amazon EC2 o en un SQL servidor On-Prem como fuente. Por lo tanto, asegúrese de haber activado el distribuidor al configurar la replicación de MS para tablas con claves principales.

Métodos de compresión compatibles con Server SQL

Tenga en cuenta lo siguiente acerca de la compatibilidad con los métodos de compresión SQL del servidor en AWS DMS:

  • AWS DMS admite la compresión de filas/páginas en la versión 2008 y posteriores SQL del servidor.

  • AWS DMS no admite el formato de almacenamiento Vardecimal.

  • AWS DMS no admite la compresión de columnas dispersas ni de estructuras columnares.

Trabaja con grupos de disponibilidad de servidores autogestionados SQL AlwaysOn

SQLLos grupos de disponibilidad Server Always On proporcionan alta disponibilidad y recuperación ante desastres como una alternativa empresarial a la duplicación de bases de datos.

En AWS DMS, puede migrar los cambios desde una única réplica de un grupo de disponibilidad principal o secundario.

Trabajo con la réplica del grupo de disponibilidad principal

Para usar el grupo de disponibilidad principal como fuente de entrada AWS DMS, haga lo siguiente:
  1. Active la opción de distribución para todas las instancias de SQL servidor en sus réplicas de disponibilidad. Para obtener más información, consulte Configurar la replicación continua en un servidor autogestionado SQL.

  2. En la AWS DMS consola, abra la configuración de la base de datos fuente SQL del servidor. En Nombre del servidor, especifique el nombre o la dirección IP del servicio de nombres de dominio (DNS) que se configuró para el agente de escucha del grupo de disponibilidad.

Al iniciar una AWS DMS tarea por primera vez, es posible que tarde más de lo habitual en iniciarse. Esta lentitud se produce porque el servidor de grupos de disponibilidad duplica la creación de los artículos de la tabla.

Trabajo con una réplica del grupo de disponibilidad secundario

Para usar un grupo de disponibilidad secundario como fuente de entrada AWS DMS, haga lo siguiente:
  1. Use las mismas credenciales para conectarse a réplicas individuales que usa el usuario del punto final AWS DMS de origen.

  2. Asegúrese de que la instancia de AWS DMS replicación pueda resolver DNS los nombres de todas las réplicas existentes y conéctese a ellas. Puede utilizar la siguiente SQL consulta para obtener los DNS nombres de todas las réplicas.

    select ar.replica_server_name, ar.endpoint_url from sys.availability_replicas ar JOIN sys.availability_databases_cluster adc ON adc.group_id = ar.group_id AND adc.database_name = '<source_database_name>';
  3. Al crear el punto final de origen, especifique el DNS nombre del agente de escucha del grupo de disponibilidad para el nombre del servidor del punto final o para la dirección del servidor secreto del punto final. Para obtener más información sobre los agentes de escucha de grupos de disponibilidad, consulte ¿Qué es un agente de escucha de grupos de disponibilidad? en la documentación del SQL servidor.

    Puede usar un DNS servidor público o un DNS servidor local para resolver el grupo de disponibilidad, la réplica principal y las réplicas secundarias. Para usar un DNS servidor local, configure Amazon Route 53 Resolver. Para obtener más información, consulte Uso de su propio servidor de nombres en las instalaciones.

  4. Agregue los siguientes atributos de conexión adicionales al punto de conexión de origen.

    Atributo de conexión adicional Valor Notas
    applicationIntent ReadOnly Sin esta ODBC configuración, la tarea de replicación se enruta a la réplica del grupo de disponibilidad principal. Para obtener más información, consulte SQLServer Native Client Support for High Availability, Disaster Recovery en la documentación SQL del servidor.
    multiSubnetFailover yes Para obtener más información, consulte SQLServer Native Client Support for High Availability, Disaster Recovery en la documentación SQL del servidor.
    alwaysOnSharedSynchedBackupIsEnabled false Para obtener más información, consulte Configuración del punto final cuando se utiliza el SQL servidor como fuente para AWS DMS.
    activateSafeguard false Para obtener más información, consulte Limitaciones a continuación.
    setUpMsCdcForTables false Para obtener más información, consulte Limitaciones a continuación.
  5. Habilite la opción de distribución en todas las réplicas del grupo de disponibilidad. Agregue todos los nodos a la lista de distribuidores. Para obtener más información, consulte Configuración de la distribución.

  6. Ejecute la siguiente consulta en la réplica de lectura y escritura principal para habilitar la publicación de la base de datos. Se ejecuta esta consulta solo una vez para la base de datos.

    sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';

Limitaciones

A continuación, se indican las limitaciones para trabajar con una réplica de grupo de disponibilidad secundario:

  • AWS DMS no es compatible con Safeguard cuando se utiliza una réplica de un grupo de disponibilidad de solo lectura como fuente. Para obtener más información, consulte Configuración del punto final cuando se utiliza el SQL servidor como fuente para AWS DMS.

  • AWS DMS no admite el atributo de conexión setUpMsCdcForTables adicional cuando se utiliza una réplica de un grupo de disponibilidad de solo lectura como fuente. Para obtener más información, consulte Configuración del punto final cuando se utiliza el SQL servidor como fuente para AWS DMS.

  • AWS DMS puede usar una réplica de un grupo de disponibilidad secundario autogestionado como base de datos de origen para la replicación continua (captura de datos de cambios oCDC) a partir de la versión 3.4.7. No se admiten las réplicas de lectura Multi-AZ de Cloud SQL Server. Si utilizas versiones anteriores de AWS DMS, asegúrate de utilizar la réplica del grupo de disponibilidad principal como base de datos de origen. CDC

Conmutación por error a otros nodos

Si establece el atributo de conexión ApplicationIntent adicional para su terminal enReadOnly, la AWS DMS tarea se conecta al nodo de solo lectura con la prioridad de enrutamiento de solo lectura más alta. A continuación, se conmuta por error a otros nodos de solo lectura en el grupo de disponibilidad cuando el nodo de solo lectura de mayor prioridad no está disponible. Si no lo establecesApplicationIntent, la AWS DMS tarea solo se conecta al nodo principal (lectura/escritura) de tu grupo de disponibilidad.

Configuración del punto final cuando se utiliza el SQL servidor como fuente para AWS DMS

Puede utilizar la configuración del punto final para configurar la base de datos fuente SQL del servidor de forma similar a como se utilizan atributos de conexión adicionales. Los ajustes se especifican al crear el punto final de origen mediante la AWS DMS consola o mediante el create-endpoint comando del AWS CLI, con la --microsoft-sql-server-settings '{"EndpointSetting": "value", ...}' JSON sintaxis.

La siguiente tabla muestra la configuración del punto final que puede usar con el SQL servidor como fuente.

Nombre Descripción

ActivateSafeguard

Este atributo activa o desactiva la protección. Para obtener más información sobre la protección, consulte SafeguardPolicy a continuación.

Valor predeterminado: true

Valores válidos: {false, true}

Ejemplo: '{"ActivateSafeguard": true}'

AlwaysOnSharedSynchedBackupIsEnabled

Este atributo ajusta el comportamiento AWS DMS al migrar desde una base de datos fuente del SQL servidor que está alojada como parte de un clúster de grupos de disponibilidad de Always On.

AWS DMS ha mejorado la compatibilidad con las bases de datos de origen SQL del servidor que están configuradas para ejecutarse en un clúster de Always On. En este caso, AWS DMS intenta comprobar si las copias de seguridad de las transacciones se están realizando desde nodos del clúster Always On distintos del nodo en el que está alojada la instancia de base de datos de origen. Al iniciar la tarea de migración, AWS DMS intenta conectarse a cada nodo del clúster, pero no lo consigue si no puede conectarse a ninguno de los nodos.

Si necesita AWS DMS sondear todos los nodos del clúster Always On para realizar copias de seguridad de las transacciones, defina este atributo enfalse.

Valor predeterminado: true

Valores válidos: true o false

Ejemplo: '{"AlwaysOnSharedSynchedBackupIsEnabled": false}'

"ApplicationIntent": "readonly"

Esta configuración de atributos del ODBC controlador hace que SQL Server dirija la tarea de replicación al nodo de solo lectura de mayor prioridad. Sin esta configuración, el SQL servidor dirige la tarea de replicación al nodo principal de lectura-escritura.

EnableNonSysadminWrapper

Utilice esta configuración de punto final cuando configure la replicación continua en un SQL servidor independiente sin un usuario sysadmin. Este parámetro es compatible con la AWS DMS versión 3.4.7 y versiones posteriores. Para obtener información sobre cómo configurar la replicación continua en un SQL servidor independiente, consulte. Capturar cambios en los datos para una replicación continua desde el SQL servidor

Valor predeterminado: false

Valores válidos: true, false

Ejemplo: '{"EnableNonSysadminWrapper": true}'

ExecuteTimeout

Utilice este atributo de conexión adicional (ECA) para establecer el tiempo de espera de la sentencia del cliente para la instancia SQL del servidor, en segundos. El valor de predeterminado es de 60 segundos.

Ejemplo: '{"ExecuteTimeout": 100}'

FatalOnSimpleModel

Si se establece entrue, esta configuración genera un error grave cuando el modelo de recuperación de la base de datos SQL del servidor se establece en. simple

Valor predeterminado: false

Valores válidos: true o false

Ejemplo: '{"FatalOnSimpleModel": true}'

ForceLobLookup

Fuerza la LOB búsqueda en línea. LOB

Valor predeterminado: false

Valores válidos: true, false

Ejemplo: '{"ForceLobLookup": false}'

"MultiSubnetFailover": "Yes"

Este atributo ODBC del controlador ayuda a conectarse DMS al nuevo dispositivo principal en caso de que se produzca una conmutación por error en un grupo de disponibilidad. Este atributo está diseñado para situaciones en las que la conexión se interrumpe o la dirección IP del oyente es incorrecta. En estas situaciones, AWS DMS intenta conectarse a todas las direcciones IP asociadas al agente de escucha del grupo de disponibilidad.

ReadBackupOnly

El uso de este atributo requiere privilegios de sysadmin. Cuando este atributo se establece enY, durante la replicación en curso, solo AWS DMS lee los cambios de las copias de seguridad del registro de transacciones y no lee del archivo de registro de transacciones activo. Establecer este parámetro en Y le permite controlar el crecimiento del archivo de registro de transacción activo durante la carga completa y las tareas de replicación en curso. Sin embargo, puede añadir latencia de origen a la replicación continua.

Valores válidos: N o Y. El valor predeterminado es N.

Ejemplo: '{"ReadBackupOnly": Y}'

Nota: Este parámetro no funciona en las instancias fuente de Amazon RDS SQL Server debido a la forma en que RDS realiza las copias de seguridad.

SafeguardPolicy

Para obtener un rendimiento óptimo, AWS DMS intenta capturar todos los cambios no leídos del registro de transacciones activo (TLOG). Sin embargo, a veces, debido al truncamiento, es TLOG posible que el activo no contenga todos los cambios no leídos. Cuando esto ocurre, AWS DMS accede a la copia de seguridad del registro para capturar los cambios que faltan. Para minimizar la necesidad de acceder a la copia de seguridad del registro, AWS DMS evita el truncamiento mediante uno de los siguientes métodos:

  1. RELY_ON_SQL_SERVER_REPLICATION_AGENT(Iniciar transacciones en la base de datos): es el valor predeterminado para. AWS DMS

    Cuando se usa esta configuración, se AWS DMS requiere que el agente SQL Server Log Reader esté en ejecución, de modo que AWS DMS pueda mover las transacciones que estén marcadas para su replicación desde las activasTLOG. Tenga en cuenta que si el agente Log Reader no está en ejecución, el activo TLOG puede llenarse y provocar que la base de datos de origen pase al modo de solo lectura hasta que se resuelva el problema. Si necesita habilitar la replicación de Microsoft en su base de datos para un propósito diferente AWS DMS, debe elegir esta configuración.

    Al utilizar esta configuración, se AWS DMS minimizan las lecturas de las copias de seguridad de los registros mediante la creación de una tabla llamada awsdms_truncation_safeguard y se evita el TLOG truncamiento al imitar una transacción abierta en la base de datos. Esto evita que la base de datos trunque los eventos y los mueva al registro de copias de seguridad durante cinco minutos (de forma predeterminada). Asegúrese de que la tabla no esté incluida en ningún plan de mantenimiento, ya que podría provocar un error en el trabajo de mantenimiento. Puede eliminar la tabla de forma segura si no hay tareas configuradas con la opción de base de datos Start Transactions.

  2. EXCLUSIVE_AUTOMATIC_TRUNCATION(Se usa exclusivamente sp_repldone con una sola tarea): al usar esta configuración, AWS DMS tiene el control total del proceso del agente de replicación que marca las entradas de registro como activas. ready for truncation sp_repldone Con esta configuración, AWS DMS no utiliza una transacción ficticia como ocurre con la configuración RELY_ON_SQL_SERVER_REPLICATION_AGENT (predeterminada). Solo puede usar esta configuración cuando MS Replication no se usa para ningún otro propósito que no sea AWS DMS en la base de datos de origen. Además, al usar esta configuración, solo una AWS DMS tarea puede acceder a la base de datos. Si necesita ejecutar AWS DMS tareas paralelas en la misma base de datos, utiliceRELY_ON_SQL_SERVER_REPLICATION_AGENT.

    • Esta configuración requiere que el agente de lectura de registro esté detenido en la base de datos. Si el agente Log Reader está en ejecución cuando se inicia la AWS DMS tarea, la tarea forzará su detención. Como alternativa, puede detener el agente de lectura de registro manualmente antes de iniciar la tarea.

    • Cuando utilice este método con MS-CDC, debe detener y deshabilitar las tareas de CDCcaptura y CDClimpieza de MS-.

    • No puede usar esta configuración cuando el trabajo de migración de SQL servidores de Microsoft se ejecuta en una máquina distribuidora remota porque AWS DMS no tiene acceso a la máquina remota.

    • EXCLUSIVE_AUTOMATIC_TRUNCATIONno funciona en las instancias fuente de Amazon RDS para SQL servidores porque RDS los usuarios de Amazon no tienen acceso para ejecutar el procedimiento sp_repldone almacenado.

    • Si configura SafeguardPolicy en EXCLUSIVE_AUTOMATIC_TRUNCATION sin usar el rol sysadmin, debe conceder permisos sobre los objetos dbo.syscategories y dbo.sysjobs al usuario dmsuser.

Valor predeterminado: RELY_ON_SQL_SERVER_REPLICATION_AGENT

Valores válidos: {EXCLUSIVE_AUTOMATIC_TRUNCATION, RELY_ON_SQL_SERVER_REPLICATION_AGENT}

Ejemplo: '{"SafeguardPolicy": "EXCLUSIVE_AUTOMATIC_TRUNCATION"}'

SetUpMsCdcForTables

Este atributo activa MS- CDC para la base de datos de origen y para las tablas del mapeo de tareas que no tienen habilitada la replicación por MS. Al establecer este valor en true se ejecuta el procedimiento almacenado sp_cdc_enable_db en la base de datos de origen y se ejecuta el procedimiento almacenado sp_cdc_enable_table en cada tabla de la tarea que no tenga habilitada la replicación por MS en la base de datos de origen. Para obtener más información acerca de la activación de la distribución, consulte Configurar la replicación continua en un servidor autogestionado SQL.

Valores válidos: {true, false}

Ejemplo: '{"SetUpMsCdcForTables": true}'

TlogAccessMode

Indica el modo utilizado para obtener datos. CDC

Valor predeterminado: PreferTlog

Valores válidos: BackupOnly, PreferBackup, PreferTlog, TlogOnly

Ejemplo: '{"TlogAccessMode": "PreferTlog"}'

Use3rdPartyBackupDevice

Cuando este atributo se establece en Y, AWS DMS procesa las copias de seguridad del registro de transacciones de terceros si se crean en formato nativo.

Tipos de datos de origen para el servidor SQL

La migración de datos que utiliza el SQL servidor como fuente AWS DMS es compatible con la mayoría de los tipos de datos SQL del servidor. La siguiente tabla muestra los tipos de datos de origen SQL del servidor que se admiten cuando se utilizan AWS DMS y la asignación predeterminada a partir de AWS DMS los tipos de datos.

Para obtener más información sobre cómo ver el tipo de datos que se asigna en el destino, consulte la sección del punto de enlace de destino que esté utilizando.

Para obtener información adicional sobre AWS DMS los tipos de datos, consulteTipos de datos de AWS Database Migration Service.

SQLTipos de datos del servidor

AWS DMS tipos de datos

BIGINT

INT8

BIT

BOOLEAN

DECIMAL

NUMERIC

INT

INT4

MONEY

NUMERIC

NUMERIC(p, s)

NUMERIC

SMALLINT

INT2

SMALLMONEY

NUMERIC

TINYINT

UINT1

REAL

REAL4

FLOAT

REAL8

DATETIME

DATETIME

DATETIME2(SQLServer 2008 y versiones posteriores)

DATETIME

SMALLDATETIME

DATETIME

DATE

DATE

TIME

TIME

DATETIMEOFFSET

WSTRING

CHAR

STRING

VARCHAR

STRING

VARCHAR(máximo)

CLOB

TEXT

Para usar este tipo de datos con AWS DMS, debe habilitar el uso de tipos de CLOB datos para una tarea específica.

En el SQL caso de las tablas de servidores, AWS DMS actualiza LOB las columnas del destino incluso para UPDATE las sentencias que no cambian el valor de la LOB columna SQL del servidor.

DuranteCDC, solo AWS DMS admite CLOB los tipos de datos en las tablas que incluyen una clave principal.

NCHAR

WSTRING

NVARCHAR(longitud)

WSTRING

NVARCHAR(máximo)

NCLOB

NTEXT

Para usar este tipo de datos con AWS DMS, debe habilitar el uso de SupportLobs para una tarea específica. Para obtener más información acerca de cómo habilitar la compatibilidad con LOB, consulte Configurar el LOB soporte para las bases de datos de origen en una AWS DMS tarea.

En el SQL caso de las tablas de servidores, AWS DMS actualiza LOB las columnas del destino incluso para UPDATE las sentencias que no cambian el valor de la LOB columna SQL del servidor.

DuranteCDC, solo AWS DMS admite CLOB los tipos de datos en las tablas que incluyen una clave principal.

BINARY

BYTES

VARBINARY

BYTES

VARBINARY(máximo)

BLOB

IMAGE

En el SQL caso de las tablas de servidores, AWS DMS actualiza LOB las columnas del destino incluso para UPDATE las sentencias que no cambian el valor de la LOB columna SQL del servidor.

Para usar este tipo de datos con AWS DMS, debe habilitar el uso de tipos de BLOB datos para una tarea específica.

AWS DMS solo admite tipos de BLOB datos en tablas que incluyen una clave principal.

TIMESTAMP

BYTES

UNIQUEIDENTIFIER

STRING

HIERARCHYID

Se utiliza HIERARCHYID al replicar en un punto final de destino SQL del servidor.

Utilice WSTRING (250) al replicar en todos los demás puntos finales de destino.

XML

NCLOB

En el SQL caso de las tablas de servidores, AWS DMS actualiza LOB las columnas del destino incluso para UPDATE las sentencias que no cambian el valor de la LOB columna del servidor. SQL

Para usar este tipo de datos con AWS DMS, debe habilitar el uso de tipos de NCLOB datos para una tarea específica.

DuranteCDC, solo AWS DMS admite NCLOB los tipos de datos en las tablas que incluyen una clave principal.

GEOMETRY

Úselo GEOMETRY al replicar en puntos finales de destino que admiten este tipo de datos.

Úselo CLOB al replicar en puntos finales de destino que no admiten este tipo de datos.

GEOGRAPHY

Úselo GEOGRAPHY al replicar en puntos finales de destino que admiten este tipo de datos.

Úselo CLOB al replicar en puntos finales de destino que no admiten este tipo de datos.

AWS DMS no admite tablas que incluyan campos con los siguientes tipos de datos.

  • CURSOR

  • SQL_VARIANT

  • TABLE

nota

Se admiten tipos de datos definidos por el usuario en función de su tipo base. Por ejemplo, un tipo de datos definido por el usuario basado en DATETIME se gestiona como un tipo de DATETIME datos.