Copia incremental de datos de Azure SQL Database a Blob Storage mediante el seguimiento de cambios en Azure Portal

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En una solución de integración de datos, la carga incremental de los datos después de cargas completas iniciales es un método ampliamente usado. Los datos modificados en un período en el almacén de datos de origen se pueden segmentar fácilmente (por ejemplo, LastModifyTime o CreationTime). Pero en algunos casos, no hay ninguna manera explícita de identificar las diferencias de datos desde la última vez que se procesaron. Para identificar los datos diferenciales, puede usar la tecnología de control de cambios, admitida por almacenes de datos como Azure SQL Database y SQL Server.

Este tutorial describe cómo usar Azure Data Factory con control de cambios para cargar incrementalmente los datos diferenciales desde Azure SQL Database a Azure Blob Storage. Para más información sobre el seguimiento de cambios, vea Control de cambios en SQL Server.

En este tutorial, realizará los siguientes pasos:

  • Preparación del almacenamiento de datos de origen.
  • Creación de una factoría de datos.
  • Cree servicios vinculados.
  • Cree los conjuntos de datos de control de cambios, el origen y el receptor.
  • Creación, ejecución y supervisión de la canalización de copia completa.
  • Adición o actualización de datos en la tabla de origen.
  • Creación, ejecución y supervisión de la canalización de copia incremental.

Solución de alto nivel

En este tutorial, creará dos canalizaciones que llevan a cabo las operaciones siguientes.

Nota

Este tutorial utiliza Azure SQL Database como almacén de datos de origen. También puede usar SQL Server.

  1. Carga inicial de datos históricos: creará una canalización con la actividad de copia que copia todos los datos desde el almacén de datos de origen (Azure SQL Database) al almacén de datos de destino (Azure Blob Storage):

    1. Habilite la tecnología control de cambios en la base de datos de origen en Azure SQL Database.
    2. Obtenga el valor inicial de SYS_CHANGE_VERSION en la base de datos como base de referencia para capturar los datos que han cambiado.
    3. Cargue todos los datos de la base de datos de origen en Azure Blob Storage.

    Diagram that shows full loading of data.

  2. Carga incremental de datos diferenciales según una programación: cree una canalización con las actividades siguientes y ejecútela periódicamente:

    1. Cree dos actividades de búsqueda para obtener los valores SYS_CHANGE_VERSION antiguo y nuevo desde Azure SQL Database.

    2. Cree una actividad de copia para copiar los datos insertados, actualizados o eliminados (los datos diferenciales) entre los dos valores SYS_CHANGE_VERSION de Azure SQL Database a Azure Blob Storage.

      Cargue los datos diferenciales combinando las claves principales de las filas modificadas (entre dos valores SYS_CHANGE_VERSION) desde sys.change_tracking_tables con los datos de la tabla de origen y mueva los datos diferenciales al destino.

    3. Cree una actividad de procedimiento almacenado para actualizar el valor SYS_CHANGE_VERSION para la ejecución de la siguiente canalización.

    Diagram that shows incremental loading of data.

Requisitos previos

  • Suscripción de Azure. Si no tiene una, cree una cuenta gratuita antes de empezar.
  • Azure SQL Database. Se usa una base de datos de Azure SQL Database como almacén de datos de origen. Si no tiene una, consulte Creación de una base de datos en Azure SQL Database para ver los pasos para crearla.
  • Cuenta de Azure Storage. Blob Storage se usa como almacén de datos receptor. Si no tiene una cuenta de almacenamiento de Azure, consulte Crear una cuenta de almacenamiento para ver los pasos para su creación. Cree un contenedor denominado adftutorial.

Nota

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Creación de una tabla de origen de datos en Azure SQL Database

  1. Abra SQL Server Management Studio y conéctese a SQL Database.

  2. En el Explorador de servidores, haga clic con el botón derecho en la base de datos y seleccione Nueva consulta.

  3. Ejecute el siguiente comando SQL en su base de datos para crear una tabla denominada data_source_table como almacén de datos de origen:

    create table data_source_table
    (
        PersonID int NOT NULL,
        Name varchar(255),
        Age int
        PRIMARY KEY (PersonID)
    );
    INSERT INTO data_source_table
        (PersonID, Name, Age)
    VALUES
        (1, 'aaaa', 21),
        (2, 'bbbb', 24),
        (3, 'cccc', 20),
        (4, 'dddd', 26),
        (5, 'eeee', 22);
    
  4. Habilite el control de cambios en la base de datos y la tabla de origen (data_source_table) ejecutando la siguiente consulta SQL.

    Nota

    • Reemplace <your database name> por el nombre de la base de datos de Azure SQL Database que tiene data_source_table.
    • Los datos modificados se mantienen durante dos días en el ejemplo actual. Si carga los datos cambiados para cada tres días o más, no se incluyen algunos que han cambiado. Debe cambiar el valor de CHANGE_RETENTION a un número mayor o asegurarse de que el período para cargar los datos modificados está en un plazo de dos días. Para más información, vea Habilitar el control de cambios para una base de datos.
    ALTER DATABASE <your database name>
    SET CHANGE_TRACKING = ON  
    (CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)  
    ALTER TABLE data_source_table
    ENABLE CHANGE_TRACKING  
    WITH (TRACK_COLUMNS_UPDATED = ON)
    
  5. Cree una tabla y almacene el ChangeTracking_version llamado con el valor predeterminado ejecutando la consulta siguiente:

    create table table_store_ChangeTracking_version
    (
        TableName varchar(255),
        SYS_CHANGE_VERSION BIGINT,
    );
    DECLARE @ChangeTracking_version BIGINT
    SET @ChangeTracking_version = CHANGE_TRACKING_CURRENT_VERSION();  
    INSERT INTO table_store_ChangeTracking_version
    VALUES ('data_source_table', @ChangeTracking_version)
    

    Nota

    Si los datos no cambian después de habilitar el control de cambios para SQL Database, el valor de la versión de control de cambios es 0.

  6. Ejecute la siguiente consulta para crear un procedimiento almacenado en su base de datos. La canalización invoca este procedimiento almacenado para actualizar la versión de control de cambios en la tabla que creó en el paso anterior.

    CREATE PROCEDURE Update_ChangeTracking_Version @CurrentTrackingVersion BIGINT, @TableName varchar(50)
    AS
    BEGIN
    UPDATE table_store_ChangeTracking_version
    SET [SYS_CHANGE_VERSION] = @CurrentTrackingVersion
    WHERE [TableName] = @TableName
    END    
    

Crear una factoría de datos

  1. Abra el explorador web Microsoft Edge o Google Chrome. Actualmente, solo estos exploradores admiten la interfaz de usuario (UI) de Data Factory.

  2. En Azure Portal, seleccione Crear un recurso en el menú de la izquierda.

  3. Seleccione Integración>Data Factory.

    Screenshot that shows selection of a data factory in creating a resource.

  4. En la página Nueva factoría de datos, escriba ADFTutorialDataFactory para el nombre.

    El nombre de la factoría de datos debe ser globalmente único. Si recibe un error que indica que el nombre que eligió no está disponible, cambie el nombre (por ejemplo, a nombreADFTutorialDataFactory) e intente volver a crear la factoría de datos. Para más información, consulte Reglas de nomenclatura de Azure Data Factory.

  5. Seleccione la suscripción de Azure en la que quiere crear la factoría de datos.

  6. Para Grupo de recursos, realice uno de los siguientes pasos:

    • Seleccione Usar existente y seleccione un grupo de recursos existente en la lista desplegable.
    • Seleccione Crear nuevo y escriba el nombre de un grupo de recursos.

    Para obtener más información sobre los grupos de recursos, consulte Uso de grupos de recursos para administrar los recursos de Azure.

  7. En Versión, seleccione V2.

  8. En Región, seleccione la región de la factoría de datos.

    La lista desplegable muestra solo las ubicaciones admitidas. Los almacenes de datos (por ejemplo, Azure Storage y Azure SQL Database) y los procesos (por ejemplo, Azure HDInsight) que la factoría de datos usa pueden estar en otras regiones.

  9. Seleccione Next: Git configuration (Siguiente: Configuración de Git). Configure el repositorio con las instrucciones del Método de configuración 4: durante la creación de la fábrica o seleccione la casilla Configurar Git más tarde. Screenshot that shows options for Git configuration in creating a data factory.

  10. Seleccione Revisar + crear.

  11. Seleccione Crear.

    En el panel, el icono Implementando Data Factory muestra el estado del proceso.

    Screenshot of the tile that shows the status of deploying a data factory.

  12. Una vez completada la creación, aparece la página Data Factory. Seleccione el icono Iniciar Studio para abrir la interfaz de usuario de Azure Data Factory en una pestaña independiente.

Crear servicios vinculados

Los servicios vinculados se crean en una factoría de datos para vincular los almacenes de datos y los servicios de proceso con la factoría de datos. En esta sección, creará servicios vinculados en su cuenta de almacenamiento de Azure y en la base de datos de Azure SQL Database.

Creación de un servicio vinculado de Azure Storage

Para vincular la cuenta de almacenamiento a la factoría de datos:

  1. En la interfaz de usuario de Data Factory, en la pestaña Administrar, en Conexiones, seleccione Servicios vinculados. A continuación, seleccione + Nuevo o el botón Crear servicio vinculado. Screenshot that shows selections for creating a linked service.
  2. En la ventana Nuevo servicio vinculado, seleccione Azure Blob Storage y, después, Continuar.
  3. Escribe la siguiente información:
    1. En Name (Nombre), escriba AzureStorageLinkedService.
    2. En Conectar a través de entorno de ejecución de integración, seleccione entorno de ejecución de integración.
    3. Para Tipo de autenticación, seleccione un método de autenticación.
    4. En Nombre de la cuenta de almacenamiento, seleccione la cuenta de almacenamiento de Azure.
  4. Seleccione Crear.

Creación de un servicio vinculado de Azure SQL Database

Para vincular la base de datos a la factoría de datos:

  1. En la interfaz de usuario de Data Factory, en la pestaña Administrar, en Conexiones, seleccione Servicios vinculados. Luego, seleccione + Nuevo.

  2. En la ventana Nuevo servicio vinculado, seleccione Azure SQL Database y, después, Continuar.

  3. Escribe la siguiente información:

    1. En Nombre, escriba AzureSqlDatabaseLinkedService.
    2. En Nombre del servidor, seleccione el servidor.
    3. Para Nombre de la base de datos, seleccione la base de datos.
    4. Para Tipo de autenticación, seleccione un método de autenticación. En este tutorial se usa la autenticación de SQL para la demostración.
    5. Para Nombre de usuario, escriba el nombre del usuario.
    6. Para Contraseña, escriba una contraseña para el usuario. O bien, proporcione la información de Azure Key Vault: servicio vinculado de AKV, Nombre del secreto y Versión del secreto.
  4. Seleccione Test connection (Prueba de conexión) para probar la conexión.

  5. Seleccione Crear para crear el servicio vinculado.

    Screenshot that shows settings for an Azure SQL Database linked service.

Creación de conjuntos de datos

En esta sección, creará conjuntos de datos para representar el origen y el destino de los datos, así como el lugar para almacenar los valores de SYS_CHANGE_VERSION.

Creación de un conjunto de datos que represente datos de origen

  1. En la interfaz de usuario de Data Factory, en la pestaña Autor, seleccione el signo más (+). Después, seleccione Conjunto de datos o seleccione los puntos suspensivos de las acciones del conjunto de datos.

    Screenshot that shows selections for starting the creation of a dataset.

  2. Seleccione Azure SQL Database y luego Continuar.

  3. En la ventana Establecer propiedades, realice los pasos siguientes:

    1. Para Nombre, escriba SourceDataset.
    2. Para Servicio vinculado, seleccione AzureSqlDatabaseLinkedService.
    3. En Nombre de tabla, seleccione dbo.data_source_table.
    4. En Importar esquema, seleccione la opción Desde conexión o almacén.
    5. Seleccione Aceptar.

    Screenshot that shows property settings for a source dataset.

Creación de un conjunto de datos que represente los datos copiados en el almacén de datos receptor

En el procedimiento siguiente, creará un conjunto de datos para representar los datos que se copian desde el almacén de datos de origen. Ha creado el contenedor adftutorial en la instancia de Azure Blob Storage como parte de los requisitos previos. Cree el contenedor si no existe o asígnele el nombre de uno existente. En este tutorial, el nombre de archivo de salida se genera dinámicamente a partir de la expresión @CONCAT('Incremental-', pipeline().RunId, '.txt').

  1. En la interfaz de usuario de Data Factory, en la pestaña Autor, seleccione +. Después, seleccione Conjunto de datos o seleccione los puntos suspensivos de las acciones del conjunto de datos.

    Screenshot that shows selections for starting the creation of a dataset.

  2. Después, seleccione Azure Blob Storage y Continuar.

  3. Seleccione el formato del tipo de datos como DelimitedText y, después, Continuar.

  4. En la ventana Establecer propiedades, realice los pasos siguientes:

    1. En Nombre, escriba SinkDataset.
    2. En Servicio vinculado, seleccione AzureBlobStorageLinkedService.
    3. En Ruta de acceso de archivo, escriba adftutorial/incchgtracking.
    4. Seleccione Aceptar.
  5. Después de que el conjunto de datos aparezca en la vista de árbol, vaya a la pestaña Conexión y seleccione el cuadro de texto Nombre de archivo. Cuando aparezca la opción Agregar contenido dinámico, selecciónela.

    Screenshot that shows the option for setting a dynamic file path for a sink dataset.

  6. Aparece la ventana Generador de expresiones de canalización. Pegue @concat('Incremental-',pipeline().RunId,'.csv') el cuadro de texto.

  7. Seleccione Aceptar.

Creación de un conjunto de datos que represente datos de seguimiento de cambios

En el siguiente procedimiento, creará un conjunto de datos para almacenar la versión de control de cambios. La tabla table_store_ChangeTracking_version se creó como parte de los requisitos previos.

  1. En la interfaz de usuario de Data Factory, en la pestaña Autor, seleccione + y, después, Conjunto de datos.
  2. Seleccione Azure SQL Database y luego Continuar.
  3. En la ventana Establecer propiedades , siga estos pasos:
    1. Para Nombre, escriba ChangeTrackingDataset.
    2. Para Servicio vinculado, seleccione AzureSqlDatabaseLinkedService.
    3. En Nombre de tabla, seleccione dbo.table_store_ChangeTracking_version.
    4. En Importar esquema, seleccione la opción Desde conexión o almacén.
    5. Seleccione Aceptar.

Creación de una canalización para la copia completa

En el procedimiento siguiente, va a crear una canalización con la actividad de copia que copia todos los datos desde el almacén de datos de origen (Azure SQL Database) al almacén de datos de destino (Azure Blob Storage):

  1. En la interfaz de usuario de Data Factory, en la pestaña Autor, seleccione + y, después, Canalización>Canalización.

    Screenshot that shows selections for starting to create a pipeline for a data factory.

  2. Aparece una nueva pestaña para configurar la canalización. La canalización también aparece en la vista de árbol. En la ventana Properties (Propiedades), cambie el nombre de la canalización a FullCopyPipeline.

  3. En el cuadro de herramientas Actividades , expanda Mover y transformar. Realice uno de los siguientes pasos:

    • Arrastre la actividad de copia a la superficie del diseñador de canalizaciones.
    • En la barra de búsqueda de Actividades, busque la actividad de copia de datos y establezca el nombre en FullCopyActivity.
  4. Cambie a la pestaña Origen. En Conjunto de datos de origen, seleccione SourceDataset.

  5. Cambie a la pestaña Receptor. Seleccione SinkDataset en Conjunto de datos receptor.

  6. Para validar la definición de la canalización, seleccione Validar en la barra de herramientas. Confirme que no haya errores de comprobación. Cierre la salida de validación de la canalización.

  7. Para publicar entidades (servicios vinculados, conjuntos de datos y canalizaciones), seleccione Publicar todo. Espere a que aparezca el mensaje Successfully published (Publicado correctamente).

    Screenshot of the message that says publishing succeeded.

  8. Para ver las notificaciones, seleccione el botón Mostrar notificaciones.

Ejecución de la canalización de copia completa

  1. En la interfaz de usuario de Data Factory, en la barra de herramientas de la canalización, seleccione Agregar desencadenador y, después, seleccione Desencadenar ahora.

    Screenshot that shows the option for triggering a full copy now.

  2. En la ventana Ejecución de canalización, seleccione Aceptar.

    Screenshot that shows a pipeline run confirmation with a parameter check.

Supervisión de la canalización de copia completa

  1. En la interfaz de usuario de Data Factory, seleccione la pestaña Supervisión. La ejecución de la canalización y su estado aparecen en la lista. Para actualizar la lista, seleccione Actualizar. Mantenga el puntero sobre la ejecución de la canalización para obtener la opción Volver a ejecutar o Consumo.

    Screenshot that shows a pipeline run and status.

  2. Para ver las ejecuciones de actividad asociadas a la ejecución de canalización, seleccione el nombre de la canalización de la columna Nombre de canalización. Como solo hay una actividad en la canalización, solo hay una entrada en la lista. Para volver a la vista de ejecuciones de canalización, seleccione el vínculo Todas las ejecuciones de la canalización al comienzo.

Revisión del resultado

La carpeta incchgtracking del contenedor adftutorial incluye un archivo denominado incremental-<GUID>.csv.

Screenshot of an output file from a full copy.

El archivo debe tener los datos de la base de datos:


PersonID,Name,Age
1,"aaaa",21
2,"bbbb",24
3,"cccc",20
4,"dddd",26
5,"eeee",22

5,eeee,PersonID,Name,Age
1,"aaaa",21
2,"bbbb",24
3,"cccc",20
4,"dddd",26
5,"eeee",22

Adición de más datos a la tabla de origen

Ejecute la siguiente consulta en la base de datos para agregar una fila y actualizarla:

INSERT INTO data_source_table
(PersonID, Name, Age)
VALUES
(6, 'new','50');


UPDATE data_source_table
SET [Age] = '10', [name]='update' where [PersonID] = 1

Creación de una canalización para la copia diferencial

En el siguiente procedimiento, creará una canalización con actividades y la ejecutará con regularidad. Cuando ejecute la canalización:

  • Las actividades de búsqueda obtienen los valores SYS_CHANGE_VERSION antiguo y nuevo desde Azure SQL Database y los pasan a la actividad de copia.
  • La actividad de copia copia los datos insertados, actualizados o eliminados entre los dos valores SYS_CHANGE_VERSION de Azure SQL Database a Azure Blob Storage.
  • La actividad de procedimiento almacenado actualiza el valor SYS_CHANGE_VERSION para la ejecución de la siguiente canalización.
  1. En la interfaz de usuario de Data Factory, cambie a la pestaña Autor. Seleccione + y, después, Canalización>Canalización.

    Screenshot that shows how to create a pipeline in a data factory.

  2. Aparece una nueva pestaña para configurar la canalización. La canalización también aparece en la vista de árbol. En la ventana Properties (Propiedades), cambie el nombre de la canalización a IncrementalCopyPipeline.

  3. Expanda General en el cuadro de herramientas Actividades. Arrastre la actividad de búsqueda hasta la superficie del diseñador de canalizaciones o busque en el cuadro Buscar actividades. Establezca el nombre de la actividad en LookupLastChangeTrackingVersionActivity. Esta actividad obtiene la versión de control de cambios de la última operación de copia que se almacenó en la tabla table_store_ChangeTracking_version.

  4. Cambie a la pestaña Settings (Configuración) en la ventana Properties (Propiedades). En Conjunto de datos de origen, seleccione ChangeTrackingDataset.

  5. Arrastre la actividad de búsqueda desde el cuadro de herramientas Actividades a la superficie del diseñador de canalizaciones. Establezca el nombre de la actividad en LookupCurrentChangeTrackingVersionActivity. Esta actividad obtiene la versión del seguimiento de cambios actual.

  6. Cambie a la pestaña Configuración de la ventana de Propiedades y realice las siguientes acciones:

    1. En Conjunto de datos de origen, seleccione SourceDataset.

    2. Para Usar consulta, seleccione Consulta.

    3. En Consulta, escriba la siguiente consulta SQL:

      SELECT CHANGE_TRACKING_CURRENT_VERSION() as CurrentChangeTrackingVersion
      

    Screenshot that shows a query added to the Settings tab in the Properties window.

  7. En el cuadro de herramientas Actividades , expanda Mover y transformar. Arrastre la actividad de copia de datos a la superficie del diseñador de canalizaciones. Establezca el nombre de la actividad en IncrementalCopyActivity. Esta actividad copia los datos de la última versión del control de cambios y la actual en el almacén de datos de destino.

  8. Cambie a la pestaña Origen de la ventana Propiedades y realice los pasos siguientes:

    1. En Conjunto de datos de origen, seleccione SourceDataset.

    2. Para Usar consulta, seleccione Consulta.

    3. En Consulta, escriba la siguiente consulta SQL:

      SELECT data_source_table.PersonID,data_source_table.Name,data_source_table.Age, CT.SYS_CHANGE_VERSION, SYS_CHANGE_OPERATION from data_source_table RIGHT OUTER JOIN CHANGETABLE(CHANGES data_source_table, @{activity('LookupLastChangeTrackingVersionActivity').output.firstRow.SYS_CHANGE_VERSION}) AS CT ON data_source_table.PersonID = CT.PersonID where CT.SYS_CHANGE_VERSION <= @{activity('LookupCurrentChangeTrackingVersionActivity').output.firstRow.CurrentChangeTrackingVersion}
      

    Screenshot that shows a query added to the Source tab in the Properties window.

  9. Cambie a la pestaña Receptor. Seleccione SinkDataset en Conjunto de datos receptor.

  10. Conecte las dos actividades de búsqueda con la actividad de copia una a una. Arrastre el botón verde adjunto a la actividad de búsqueda a la actividad de copia.

  11. Arrastre la actividad de procedimiento almacenado desde el cuadro de herramientas Actividades a la superficie del diseñador de canalizaciones. Establezca el nombre de la actividad en StoredProceduretoUpdateChangeTrackingActivity. Esta actividad actualiza la versión de seguimiento de cambios en la tabla table_store_ChangeTracking_version.

  12. Cambie a la pestaña Configuración y realice los pasos siguientes:

    1. Para Servicio vinculado, seleccione AzureSqlDatabaseLinkedService.
    2. Como Stored procedure name (Nombre de procedimiento almacenado), seleccione Update_ChangeTracking_Version.
    3. Seleccione Import (Importar).
    4. En la sección Parámetros de procedimiento almacenado, especifique estos valores:
    Nombre Tipo Valor
    CurrentTrackingVersion Int64 @{activity('LookupCurrentChangeTrackingVersionActivity').output.firstRow.CurrentChangeTrackingVersion}
    TableName Cadena @{activity('LookupLastChangeTrackingVersionActivity').output.firstRow.TableName}

    Screenshot that shows setting parameters for the stored procedure activity.

  13. Conecte la actividad de copia a la actividad de procedimiento almacenado. Arrastre el botón verde adjunto a la actividad de copia a la actividad de procedimiento almacenado.

  14. Seleccione Validar en la barra de herramientas. Confirme que no haya errores de comprobación. Cierre la ventana Informe de comprobación de la canalización.

  15. Para publicar entidades (servicios vinculados, conjuntos de datos y canalizaciones) en el servicio de Data Factory, seleccione el botón Publicar todo. Espere hasta que aparezca el mensaje Publicación correcta.

    Screenshot that shows the button for publishing all entities for a data factory.

Ejecución de la canalización de la copia incremental

  1. Seleccione Agregar desencadenador en la barra de herramientas para la canalización y, después, seleccione Desencadenar ahora.

    Screenshot that shows the option for triggering an incremental copy now.

  2. En la ventana Ejecución de canalización, seleccione Finalizar.

Supervisión de la canalización de la copia incremental

  1. Seleccione la pestaña Supervisión. La ejecución de la canalización y su estado aparecen en la lista. Para actualizar la lista, seleccione Actualizar.

    Screenshot that shows pipeline runs for a data factory.

  2. Para ver las ejecuciones de actividad asociadas a la ejecución de canalización, seleccione el vínculo IncrementalCopyPipeline de la columna Nombre de canalización. Las ejecuciones de actividad aparecen en una lista.

    Screenshot that shows activity runs for a data factory.

Revisión del resultado

El segundo archivo aparece en la carpeta incchgtracking del contenedor adftutorial.

Screenshot that shows the output file from an incremental copy.

El archivo debe tener solo los datos diferenciales de la base de datos. El registro con U es la fila actualizada en la base de datos y I es la fila que se agrega.

PersonID,Name,Age,SYS_CHANGE_VERSION,SYS_CHANGE_OPERATION
1,update,10,2,U
6,new,50,1,I

Las tres primeras columnas son datos que han cambiado de data_source_table. Las dos últimas columnas son los metadatos de la tabla del sistema de seguimiento de cambios. La cuarta columna es el valor SYS_CHANGE_VERSION de cada fila modificada. La quinta columna es la operación: U = actualización, I = inserción. Para obtener más información acerca de la información de control de cambios, consulte CHANGETABLE.

==================================================================
PersonID Name    Age    SYS_CHANGE_VERSION    SYS_CHANGE_OPERATION
==================================================================
1        update  10            2                                 U
6        new     50	       1                            	 I

Pase al tutorial siguiente para obtener información acerca de cómo copiar solo archivos nuevos y modificados solo según el valor de LastModifiedDate: