Compartir vía


Copia de varias tablas de forma masiva mediante Azure Data Factory mediante PowerShell

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Data Factory en Microsoft Fabric es la próxima generación de Azure Data Factory, con una arquitectura más sencilla, inteligencia artificial integrada y nuevas características. Si no está familiarizado con la integración de datos, comience con Fabric Data Factory. Las cargas de trabajo de ADF existentes pueden actualizarse a Fabric para acceder a nuevas funcionalidades en ciencia de datos, análisis en tiempo real e informes.

En este tutorial se muestra copiar varias tablas de Azure SQL Database a Azure Synapse Analytics. Además, puede aplicar el mismo patrón en otros escenarios de copia. Por ejemplo, copiar tablas de SQL Server/Oracle a Azure SQL Database/Data Warehouse/Azure Blob, copiando diferentes rutas de acceso de Blob a tablas de Azure SQL Database.

A grandes rasgos, este tutorial incluye los pasos siguientes:

  • Creación de una factoría de datos.
  • Cree los servicios vinculados de Azure SQL Database, Azure Synapse Analytics y Azure Storage.
  • Cree conjuntos de datos Azure SQL Database y Azure Synapse Analytics.
  • Cree una canalización para buscar las tablas que se deben copiar y otra canalización para realizar la operación de copia real.
  • Inicio de la ejecución de una canalización.
  • Supervisión de las ejecuciones de canalización y actividad.

En este tutorial se usa Azure PowerShell. Para obtener información sobre el uso de otras herramientas o SDK para crear una factoría de datos, consulte los inicios rápidos.

Flujo de trabajo de un extremo a otro

En este escenario, tenemos una serie de tablas en Azure SQL Database que queremos copiar en Azure Synapse Analytics. Esta es la secuencia lógica de pasos del flujo de trabajo que se realiza en las canalizaciones:

Flujo de trabajo

  • La primera canalización busca la lista de tablas que debe copiarse en los almacenes de datos del receptor. También puede mantener una tabla de metadatos que muestre todas las tablas a copiar en el almacén de datos de destino. A continuación, la canalización desencadena otra canalización, que itera en todas las tablas de la base de datos y realiza la operación de copia de datos.
  • La segunda canalización realiza la copia real. Toma la lista de tablas como un parámetro. Para cada tabla de la lista, copie la tabla específica de Azure SQL Database en la tabla correspondiente de Azure Synapse Analytics con staged copy via Blob Storage y PolyBase para obtener el mejor rendimiento. En este ejemplo, la primera canalización pasa la lista de tablas como un valor para el parámetro.

Si no tiene una suscripción de Azure, cree una cuenta free antes de comenzar.

Requisitos previos

Nota:

Se recomienda usar el módulo Az de PowerShell de Azure para interactuar con Azure. Para empezar, consulte Install Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migrate Azure PowerShell de AzureRM a Az.

  • Azure PowerShell. Siga las instrucciones de Cómo instalar y configurar Azure PowerShell.
  • cuenta de almacenamiento de Azure. La cuenta de Azure Storage se usa como almacenamiento de blobs de almacenamiento provisional en la operación de copia masiva.
  • Azure SQL Database. Esta base de datos contiene los datos de origen.
  • Azure Synapse Analytics. Este almacén de datos contiene los datos que se copian de SQL Database.

Preparación de la base de datos SQL y Azure Synapse Analytics

Prepare el Azure SQL Database de origen:

Cree una base de datos con los datos de ejemplo Adventure Works LT en SQL Database siguiendo el artículo Crear una base de datos en Azure SQL Database. En este tutorial se copian todas las tablas de esta base de datos de ejemplo en Azure Synapse Analytics.

Preparación de la instancia receptora de Azure Synapse Analytics:

  1. Si no tiene un área de trabajo de Azure Synapse Analytics, consulte el artículo Get started with Azure Synapse Analytics (Introducción a Azure Synapse Analytics para ver los pasos para crear uno.

  2. Cree esquemas de tabla correspondientes en Azure Synapse Analytics. Use Azure Data Factory para migrar o copiar datos en un paso posterior.

servicios de Azure para acceder a SQL Server

Para SQL Database y Azure Synapse Analytics, permita que los servicios de Azure accedan a SQL Server. Asegúrese de que la configuración Permitir acceso a servicios de Azure esté ACTIVADA para su servidor. Esta configuración permite al servicio Data Factory leer datos de la Azure SQL Database y escribir datos en Azure Synapse Analytics. Para comprobar y activar esta configuración, realice los siguientes pasos:

  1. Haga clic en Todos los servicios a la izquierda y en Servidores SQL.
  2. Seleccione el servidor y haga clic en Firewall en CONFIGURACIÓN.
  3. En la página Firewall, haga clic en ON para Allow access to Azure services.

Crear una factoría de datos

  1. Inicie PowerShell. Mantenga Azure PowerShell abierto hasta el final de este tutorial. Si lo cierra y vuelve a abrirlo, deberá ejecutar los comandos de nuevo.

    Ejecute el comando siguiente y escriba el nombre de usuario y la contraseña que use para iniciar sesión en el portal de Azure:

    Connect-AzAccount
    

    Ejecute el siguiente comando para ver todas las suscripciones de esta cuenta:

    Get-AzSubscription
    

    Ejecute el comando siguiente para seleccionar la suscripción con la que desea trabajar. Reemplace SubscriptionId por el identificador de la suscripción de Azure:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"
    
  2. Ejecute el cmdlet Set-AzDataFactoryV2 para crear una factoría de datos. Reemplace los marcadores de posición con sus propios valores antes de ejecutar el comando.

    $resourceGroupName = "<your resource group to create the factory>"
    $dataFactoryName = "<specify the name of data factory to create. It must be globally unique.>"
    Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location "East US" -Name $dataFactoryName
    

    Tenga en cuenta los siguientes puntos:

    • El nombre de la factoría de datos de Azure debe ser único globalmente. Si recibe el siguiente error, cambie el nombre y vuelva a intentarlo.

      The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.
      
    • Para crear instancias de Data Factory, debe ser colaborador o administrador de la suscripción de Azure.

    • Para obtener una lista de las regiones de Azure en las que Data Factory está disponible actualmente, seleccione las regiones que le interesan en la página siguiente y, a continuación, expanda Analytics para buscar Data Factory: Productos disponibles por región. Los almacenes de datos (Azure Storage, Azure SQL Database, etc.) y los procesos (HDInsight, etc.) usados por la factoría de datos pueden estar en otras regiones.

Crear servicios vinculados

En este tutorial, creará tres servicios vinculados para el origen, el receptor, y el blob de almacenamiento provisional respectivamente, lo que incluye conexiones con sus almacenes de datos:

Cree el servicio vinculado de origen de Azure SQL Database

  1. Cree un archivo JSON con el nombre AzureSqlDatabaseLinkedService.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido: Si todavía no existe, cree la carpeta ADFv2TutorialBulkCopy.

    Importante

    Reemplace <servername>, <databasename>, <username>@<servername> y <password> con valores de su Azure SQL Database antes de guardar el archivo.

    {
        "name": "AzureSqlDatabaseLinkedService",
        "properties": {
            "type": "AzureSqlDatabase",
            "typeProperties": {
                "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
            }
        }
    }
    
  2. En Azure PowerShell, cambie a la carpeta ADFv2TutorialBulkCopy.

  3. Ejecute el cmdlet Set-AzDataFactoryV2LinkedService para crear el servicio vinculado: AzureSqlDatabaseLinkedService.

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDatabaseLinkedService" -File ".\AzureSqlDatabaseLinkedService.json"
    

    Este es la salida de ejemplo:

    LinkedServiceName : AzureSqlDatabaseLinkedService
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureSqlDatabaseLinkedService
    

Creación del servicio vinculado receptor de Azure Synapse Analytics

  1. Cree un archivo JSON con el nombre AzureSqlDWLinkedService.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido:

    Importante

    Reemplace <servername>, <databasename>, <username>@<servername> y <password> con valores de su Azure SQL Database antes de guardar el archivo.

    {
        "name": "AzureSqlDWLinkedService",
        "properties": {
            "type": "AzureSqlDW",
            "typeProperties": {
                "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
            }
        }
    }
    
  2. Para crear el servicio vinculado: AzureSqlDWLinkedService, ejecute el cmdlet Set-AzDataFactoryV2LinkedService.

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDWLinkedService" -File ".\AzureSqlDWLinkedService.json"
    

    Este es la salida de ejemplo:

    LinkedServiceName : AzureSqlDWLinkedService
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureSqlDWLinkedService
    

Crear el servicio vinculado de almacenamiento provisional de Azure

En este tutorial, usará Azure Blob Storage como área de almacenamiento provisional para habilitar PolyBase para mejorar el rendimiento de las copias.

  1. Cree un archivo JSON con el nombre AzureStorageLinkedService.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido:

    Importante

    Reemplace <accountName> y <accountKey> por el nombre y la clave de la cuenta de almacenamiento de Azure antes de guardar el archivo.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "type": "AzureStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>"
            }
        }
    }
    
  2. Para crear el servicio vinculado: AzureStorageLinkedService, ejecute el cmdlet Set-AzDataFactoryV2LinkedService.

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"
    

    Este es la salida de ejemplo:

    LinkedServiceName : AzureStorageLinkedService
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureStorageLinkedService
    

Creación de conjuntos de datos

En este tutorial, creará los conjuntos de datos de origen y recepción que especifican la ubicación donde se almacenan los datos:

Crear un conjunto de datos para la base de datos SQL de origen

  1. Cree un archivo JSON con el nombre AzureSqlDatabaseDataset.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido. El valor de "tableName" es ficticio, puesto que luego se usa la consulta SQL en la actividad de copia para recuperar los datos.

    {
        "name": "AzureSqlDatabaseDataset",
        "properties": {
            "type": "AzureSqlTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDatabaseLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": "dummy"
            }
        }
    }
    
  2. Para crear el conjunto de datos: AzureSqlDatabaseDataset, ejecute el cmdlet Set-AzDataFactoryV2Dataset.

    Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDatabaseDataset" -File ".\AzureSqlDatabaseDataset.json"
    

    Este es la salida de ejemplo:

    DatasetName       : AzureSqlDatabaseDataset
    ResourceGroupName : <resourceGroupname>
    DataFactoryName   : <dataFactoryName>
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureSqlTableDataset
    

Creación de un conjunto de datos para la instancia receptora de Azure Synapse Analytics

  1. Cree un archivo JSON con el nombre AzureSqlDWDataset.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido: El valor de "tableName" se establece como un parámetro, más adelante la actividad de copia que hace referencia a este conjunto de datos pasa el valor real en el conjunto de datos.

    {
        "name": "AzureSqlDWDataset",
        "properties": {
            "type": "AzureSqlDWTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDWLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": {
                    "value": "@{dataset().DWTableName}",
                    "type": "Expression"
                }
            },
            "parameters":{
                "DWTableName":{
                    "type":"String"
                }
            }
        }
    }
    
  2. Para crear el conjunto de datos: AzureSqlDWDataset, ejecute el cmdlet Set-AzDataFactoryV2Dataset.

    Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDWDataset" -File ".\AzureSqlDWDataset.json"
    

    Este es la salida de ejemplo:

    DatasetName       : AzureSqlDWDataset
    ResourceGroupName : <resourceGroupname>
    DataFactoryName   : <dataFactoryName>
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureSqlDwTableDataset
    

Creación de canalizaciones

En este tutorial, creará dos canalizaciones:

Crea la canalización "IterateAndCopySQLTables"

Esta canalización toma una lista de tablas como parámetro. Para cada tabla de la lista, copia los datos de la tabla de Azure SQL Database a Azure Synapse Analytics mediante copia almacenada provisionalmente y PolyBase.

  1. Cree un archivo JSON con el nombre IterateAndCopySQLTables.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido:

    {
        "name": "IterateAndCopySQLTables",
        "properties": {
            "activities": [
                {
                    "name": "IterateSQLTables",
                    "type": "ForEach",
                    "typeProperties": {
                        "isSequential": "false",
                        "items": {
                            "value": "@pipeline().parameters.tableList",
                            "type": "Expression"
                        },
                        "activities": [
                            {
                                "name": "CopyData",
                                "description": "Copy data from Azure SQL Database to Azure Synapse Analytics",
                                "type": "Copy",
                                "inputs": [
                                    {
                                        "referenceName": "AzureSqlDatabaseDataset",
                                        "type": "DatasetReference"
                                    }
                                ],
                                "outputs": [
                                    {
                                        "referenceName": "AzureSqlDWDataset",
                                        "type": "DatasetReference",
                                        "parameters": {
                                            "DWTableName": "[@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]"
                                        }
                                    }
                                ],
                                "typeProperties": {
                                    "source": {
                                        "type": "SqlSource",
                                        "sqlReaderQuery": "SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]"
                                    },
                                    "sink": {
                                        "type": "SqlDWSink",
                                        "preCopyScript": "TRUNCATE TABLE [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]",
                                        "allowPolyBase": true
                                    },
                                    "enableStaging": true,
                                    "stagingSettings": {
                                        "linkedServiceName": {
                                            "referenceName": "AzureStorageLinkedService",
                                            "type": "LinkedServiceReference"
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            ],
            "parameters": {
                "tableList": {
                    "type": "Object"
                }
            }
        }
    }
    
  2. Para crear la canalización: IterateAndCopySQLTables, ejecute el cmdlet Set-AzDataFactoryV2Pipeline.

    Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "IterateAndCopySQLTables" -File ".\IterateAndCopySQLTables.json"
    

    Este es la salida de ejemplo:

    PipelineName      : IterateAndCopySQLTables
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Activities        : {IterateSQLTables}
    Parameters        : {[tableList, Microsoft.Azure.Management.DataFactory.Models.ParameterSpecification]}
    

Creación de la canalización "GetTableListAndTriggerCopyData"

Esta canalización lleva a cabo dos pasos:

  • Busca la tabla del sistema Azure SQL Database para obtener la lista de tablas que se van a copiar.
  • Desencadena la canalización "IterateAndCopySQLTables" para realizar la copia de datos real.
  1. Cree un archivo JSON con el nombre GetTableListAndTriggerCopyData.json en la carpeta C:\ADFv2TutorialBulkCopy con el siguiente contenido:

    {
        "name":"GetTableListAndTriggerCopyData",
        "properties":{
            "activities":[
                { 
                    "name": "LookupTableList",
                    "description": "Retrieve the table list from Azure SQL database",
                    "type": "Lookup",
                    "typeProperties": {
                        "source": {
                            "type": "SqlSource",
                            "sqlReaderQuery": "SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLES WHERE TABLE_TYPE = 'BASE TABLE' and TABLE_SCHEMA = 'SalesLT' and TABLE_NAME <> 'ProductModel'"
                        },
                        "dataset": {
                            "referenceName": "AzureSqlDatabaseDataset",
                            "type": "DatasetReference"
                        },
                        "firstRowOnly": false
                    }
                },
                {
                    "name": "TriggerCopy",
                    "type": "ExecutePipeline",
                    "typeProperties": {
                        "parameters": {
                            "tableList": {
                                "value": "@activity('LookupTableList').output.value",
                                "type": "Expression"
                            }
                        },
                        "pipeline": {
                            "referenceName": "IterateAndCopySQLTables",
                            "type": "PipelineReference"
                        },
                        "waitOnCompletion": true
                    },
                    "dependsOn": [
                        {
                            "activity": "LookupTableList",
                            "dependencyConditions": [
                                "Succeeded"
                            ]
                        }
                    ]
                }
            ]
        }
    }
    
  2. Para crear la canalización: GetTableListAndTriggerCopyData, ejecute el cmdlet Set-AzDataFactoryV2Pipeline.

    Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "GetTableListAndTriggerCopyData" -File ".\GetTableListAndTriggerCopyData.json"
    

    Este es la salida de ejemplo:

    PipelineName      : GetTableListAndTriggerCopyData
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Activities        : {LookupTableList, TriggerCopy}
    Parameters        :
    

Inicio y supervisión de la ejecución de la canalización

  1. Inicie una ejecución para la canalización principal "GetTableListAndTriggerCopyData" y capture el identificador de ejecución de la canalización a fin de poder realizar una supervisión en el futuro. De forma subyacente, desencadena la ejecución de la canalización "IterateAndCopySQLTables" tal como se especifica en la actividad ExecutePipeline.

    $runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'GetTableListAndTriggerCopyData'
    
  2. Ejecute el siguiente script para comprobar continuamente el estado de ejecución de la canalización GetTableListAndTriggerCopyData, y muestre la ejecución final de la canalización y el resultado de la ejecución de la actividad.

    while ($True) {
        $run = Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $DataFactoryName -PipelineRunId $runId
    
        if ($run) {
            if ($run.Status -ne 'InProgress') {
                Write-Host "Pipeline run finished. The status is: " $run.Status -ForegroundColor "Yellow"
                Write-Host "Pipeline run details:" -ForegroundColor "Yellow"
                $run
                break
            }
            Write-Host  "Pipeline is running...status: InProgress" -ForegroundColor "Yellow"
        }
    
        Start-Sleep -Seconds 15
    }
    
    $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    Write-Host "Activity run details:" -ForegroundColor "Yellow"
    $result
    

    Este es el resultado de la ejecución de ejemplo:

    Pipeline run details:
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    RunId             : 0000000000-00000-0000-0000-000000000000
    PipelineName      : GetTableListAndTriggerCopyData
    LastUpdated       : 9/18/2017 4:08:15 PM
    Parameters        : {}
    RunStart          : 9/18/2017 4:06:44 PM
    RunEnd            : 9/18/2017 4:08:15 PM
    DurationInMs      : 90637
    Status            : Succeeded
    Message           : 
    
    Activity run details:
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    ActivityName      : LookupTableList
    PipelineRunId     : 0000000000-00000-0000-0000-000000000000
    PipelineName      : GetTableListAndTriggerCopyData
    Input             : {source, dataset, firstRowOnly}
    Output            : {count, value, effectiveIntegrationRuntime}
    LinkedServiceName : 
    ActivityRunStart  : 9/18/2017 4:06:46 PM
    ActivityRunEnd    : 9/18/2017 4:07:09 PM
    DurationInMs      : 22995
    Status            : Succeeded
    Error             : {errorCode, message, failureType, target}
    
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    ActivityName      : TriggerCopy
    PipelineRunId     : 0000000000-00000-0000-0000-000000000000
    PipelineName      : GetTableListAndTriggerCopyData
    Input             : {pipeline, parameters, waitOnCompletion}
    Output            : {pipelineRunId}
    LinkedServiceName : 
    ActivityRunStart  : 9/18/2017 4:07:11 PM
    ActivityRunEnd    : 9/18/2017 4:08:14 PM
    DurationInMs      : 62581
    Status            : Succeeded
    Error             : {errorCode, message, failureType, target}
    
  3. Puede obtener el identificador de ejecución de la canalización "IterateAndCopySQLTables" y comprobar el resultado detallado de la ejecución de la actividad tal como se muestra a continuación.

    Write-Host "Pipeline 'IterateAndCopySQLTables' run result:" -ForegroundColor "Yellow"
    ($result | Where-Object {$_.ActivityName -eq "TriggerCopy"}).Output.ToString()
    

    Este es el resultado de la ejecución de ejemplo:

    {
        "pipelineRunId": "7514d165-14bf-41fb-b5fb-789bea6c9e58"
    }
    
    $result2 = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId <copy above run ID> -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    $result2
    
  4. Conéctese a la instancia receptora de Azure Synapse Analytics y confirme que los datos se han copiado correctamente desde Azure SQL Database.

En este tutorial, realizó los pasos siguientes:

  • Creación de una factoría de datos.
  • Crear servicios de conexión para Azure SQL Database, Azure Synapse Analytics y Azure Storage.
  • Cree conjuntos de datos Azure SQL Database y Azure Synapse Analytics.
  • Cree una canalización para buscar las tablas que se deben copiar y otra canalización para realizar la operación de copia real.
  • Inicio de la ejecución de una canalización.
  • Supervisión de las ejecuciones de canalización y actividad.

Vaya al tutorial siguiente para obtener información sobre cómo copiar datos de forma incremental de un origen a un destino: