PowerShell kullanarak Azure Data Factory kullanarak birden çok tabloyu toplu olarak kopyalama

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu öğreticide Azure SQL Veritabanı'dan Azure Synapse Analytics'a bir dizi tablonun kopyalanması gösterilmektedir. Aynı düzeni diğer kopyalama senaryolarında da uygulayabilirsiniz. Örneğin, SQL Server/Oracle'dan Azure SQL Veritabanı/Data Warehouse/Azure Blob'a tablolar kopyalama ve Blob'dan Azure SQL Veritabanı tablolarına farklı yollarla veri kopyalama.

Yüksek seviyede, bu kılavuz aşağıdaki adımları içerir:

  • Veri fabrikası oluşturma.
  • Azure SQL Veritabanı, Azure Synapse Analytics ve Azure Depolama bağlı hizmetlerini oluşturun.
  • Azure SQL Veritabanı ve Azure Synapse Analytics veri kümeleri oluşturun.
  • Kopyalanacak tabloları aramak için bir işlem hattı ve gerçek kopyalama işlemini gerçekleştirmek için başka bir işlem hattı oluşturma.
  • İşlem hattı çalıştırmasını başlat.
  • İşlem hattı ve etkinlik çalıştırmalarını izleme.

Bu öğreticide Azure PowerShell kullanılır. Veri fabrikası oluşturmaya yönelik diğer araçlar/SDK’lar hakkında bilgi edinmek için bkz. Hızlı Başlangıçlar.

Uçtan uca iş akışı

Bu senaryoda, Azure SQL Veritabanı'nın Azure Synapse Analytics'e kopyalamak istediğimiz birkaç tablosu bulunmaktadır. İş akışının işlem hatlarında gerçekleşen adımlarının mantıksal sırası şöyledir:

İş Akışı

  • İlk işlem hattı, havuz veri depolarına kopyalanması gereken tabloların listesini belirler. Alternatif olarak, havuz veri deposuna kopyalanacak tüm tabloları listeleyen bir meta veri tablosu tutabilirsiniz. İşlem hattı daha sonra veritabanındaki her bir tabloda yinelenen ve veri kopyalama işlemini gerçekleştiren başka bir işlem hattını tetikler.
  • İkinci işlem hattı gerçek kopyalama işlemini gerçekleştirir. Tablo listesini bir parametre olarak alır. Listedeki her tablo için, en iyi performans için Blob depolama ve PolyBase aracılığıyla kademeli kopyalama kullanarak, Azure SQL Veritabanı'deki belirli tabloyu Azure Synapse Analytics'teki ilgili tabloya kopyalayın. Bu örnekte, ilk işlem hattı tablo listesini bir parametre değeri olarak geçirir.

Azure aboneliğiniz yoksa başlamadan önce bir free hesabı oluşturun.

Önkoşullar

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell yükleme. Az PowerShell modülüne nasıl geçiş yapılacağını öğrenmek için bkz. AzureRM'den Az Azure PowerShell dağıtma.

  • Azure PowerShell. Azure PowerShell yükleme ve yapılandırma başlığındaki yönergeleri izleyin.
  • Azure Depolama hesabı. Azure Depolama hesabı, toplu kopyalama işleminde geçici blob depolama olarak kullanılır.
  • Azure SQL Veritabanı. Bu veritabanı, kaynak verileri içerir.
  • Azure Synapse Analytics. Bu veri ambarı, SQL Veritabanından kopyalanan verileri tutar.

SQL Veritabanı ve Azure Synapse Analytics hazırlama

Kaynak Azure SQL Veritabanı'i hazırlayın:

Azure SQL Veritabanı makalesinde veritabanı oluşturma makalesini izleyerek SQL Veritabanı'nda Adventure Works LT örnek verileriyle bir veritabanı oluşturun. Bu öğretici rehber, bu örnek veritabanındaki tüm tabloları Azure Synapse Analytics'e kopyalama işlemini gerçekleştirir.

Azure Synapse Analytics havuzunu hazırlayın:

  1. Azure Synapse Analytics çalışma alanınız yoksa, oluşturma adımları için Azure Synapse Analytics ile çalışmaya başlama makalesine bakın.

  2. Azure Synapse Analytics'de karşılık gelen tablo şemaları oluşturun. Sonraki bir adımda verileri geçirmek/kopyalamak için Azure Data Factory kullanırsınız.

Azure hizmetleri ile SQL sunucusuna erişim

Hem SQL Veritabanı hem de Azure Synapse Analytics için Azure hizmetlerinin SQL server'a erişmesine izin verin. Azure hizmetlerine erişime izin ver ayarının sunucunuz için ON açıldığından emin olun. Bu ayar, Data Factory hizmetinin Azure SQL Veritabanı verileri okumasına ve Azure Synapse Analytics veri yazmasına olanak tanır. Bu ayarı doğrulamak ve etkinleştirmek için aşağıdaki adımları uygulayın:

  1. Soldaki Tüm hizmetler’e ve sonra SQL sunucuları’na tıklayın.
  2. Sunucunuzu seçin ve AYARLAR altındaki Güvenlik Duvarı’na tıklayın.
  3. Firewall ayarları sayfasında, Azure hizmetlerine erişim izni ver için AÇIK öğesine tıklayın.

Veri fabrikası oluşturma

  1. PowerShell’i başlatın. Bu öğreticinin sonuna kadar Azure PowerShell'i açık bırakın. Kapatıp yeniden açarsanız komutları yeniden çalıştırmanız gerekir.

    Aşağıdaki komutu çalıştırın ve Azure portalında oturum açmak için kullandığınız kullanıcı adını ve parolayı girin:

    Connect-AzAccount
    

    Bu hesapla ilgili tüm abonelikleri görmek için aşağıdaki komutu çalıştırın:

    Get-AzSubscription
    

    Çalışmak istediğiniz aboneliği seçmek için aşağıdaki komutu çalıştırın. SubscriptionId değerini Azure aboneliğinizin kimliğiyle değiştirin:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"
    
  2. Bir veri fabrikası oluşturmak için Set-AzDataFactoryV2 cmdlet'ini çalıştırın. Komutu yürütmeden önce yer tutucuları kendi değerlerinizle değiştirin.

    $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
    

    Aaşağıdaki noktaları unutmayın:

    • Azure veri fabrikasının adı genel olarak benzersiz olmalıdır. Aşağıdaki hata iletisini alırsanız adı değiştirip yeniden deneyin.

      The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.
      
    • Data Factory örnekleri oluşturmak için Azure aboneliğinin Katkıda Bulunanı veya Yöneticisi olmanız gerekir.

    • Data Factory'nin şu anda kullanılabilir olduğu Azure bölgelerin listesi için aşağıdaki sayfada ilginizi çekebilecek bölgeleri seçin ve ardından Analytics'yi genişleterek Data Factory: Products by region öğesini bulun. Veri fabrikası tarafından kullanılan veri depoları (Azure Depolama, Azure SQL Veritabanı vb.) ve işlem (HDInsight vb.) diğer bölgelerde olabilir.

Bağlı hizmetler oluşturma

Bu öğreticide sırasıyla kaynak, havuz ve hazırlama blob’u için veri depolarınızla bağlantılar içeren üç bağlı hizmet oluşturacaksınız:

Azure SQL Veritabanı kaynak bağlantılı hizmet oluşturma

  1. C:\ADFv2TutorialBulkCopy klasöründe şu içeriğe sahip AzureSqlDatabaseLinkedService.json adlı bir JSON dosyası oluşturun: (Henüz yoksa ADFv2TutorialBulkCopy adlı bir klasör oluşturun.)

    Önemli

    <Sunucu adı>, <veritabanı adı>, <kullanıcı adı>@<sunucu adı> ve <parola> öğelerini dosyayı kaydetmeden önce Azure SQL Veritabanı değerlerinizle değiştirin.

    {
        "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. Azure PowerShell'da ADFv2TutorialBulkCopy klasörüne geçin.

  3. Bağlı hizmeti oluşturmak için Set-AzDataFactoryV2LinkedService cmdlet'ini çalıştırın: AzureSqlDatabaseLinkedService.

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

    Örnek çıktı aşağıdaki gibidir:

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

Azure Synapse Analytics hedef bağlı hizmetini oluşturun

  1. C:\ADFv2TutorialBulkCopy klasöründe aşağıdaki içeriğe sahip AzureSqlDWLinkedService.json adlı bir JSON dosyası oluşturun:

    Önemli

    <Sunucu adı>, <veritabanı adı>, <kullanıcı adı>@<sunucu adı> ve <parola> öğelerini dosyayı kaydetmeden önce Azure SQL Veritabanı değerlerinizle değiştirin.

    {
        "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. Bağlı hizmeti oluşturmak için: AzureSqlDWLinkedService, Set-AzDataFactoryV2LinkedService cmdlet'ini çalıştırın.

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

    Örnek çıktı aşağıdaki gibidir:

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

Geçici Azure Depolama bağlantılı hizmeti oluşturun

Bu öğreticide, PolyBase'i daha iyi bir kopyalama performansı için etkinleştirmek üzere geçici bir hazırlama alanı olarak Azure Blob depolamayı kullanacaksınız.

  1. C:\ADFv2TutorialBulkCopy klasöründe aşağıdaki içeriğe sahip AzureStorageLinkedService.json adlı bir JSON dosyası oluşturun:

    Önemli

    dosyayı kaydetmeden önce <accountName> ve <accountKey> Azure depolama hesabınızın adı ve anahtarıyla değiştirin.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "type": "AzureStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>"
            }
        }
    }
    
  2. Bağlı hizmeti oluşturmak için: AzureStorageLinkedService, Set-AzDataFactoryV2LinkedService cmdlet'ini çalıştırın.

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

    Örnek çıktı aşağıdaki gibidir:

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

Veri kümeleri oluşturma

Bu öğreticide, verilerin depolandığı konumu belirten kaynak ve havuz veri kümelerini oluşturacaksınız:

Kaynak SQL Veritabanı için veri kümesi oluşturma

  1. C:\ADFv2TutorialBulkCopy klasöründe aşağıdaki içeriğe sahip AzureSqlDatabaseDataset.json adlı bir JSON dosyası oluşturun. Daha sonra verileri almak için kopyalama etkinliğindeki SQL sorgusunu kullandığınızdan, "tableName" değeri etkisizdir.

    {
        "name": "AzureSqlDatabaseDataset",
        "properties": {
            "type": "AzureSqlTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDatabaseLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": "dummy"
            }
        }
    }
    
  2. AzureSqlDatabaseDataset veri kümesini oluşturmak için Set-AzDataFactoryV2Dataset cmdlet'ini çalıştırın.

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

    Örnek çıktı aşağıdaki gibidir:

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

Azure Synapse Analytics'teki bir hedef (sink) için veri kümesi oluşturun.

  1. C:\ADFv2TutorialBulkCopy klasöründe aşağıdaki içeriğe sahip AzureSqlDWDataset.json adlı bir JSON dosyası oluşturun: "tableName" bir parametre olarak ayarlanır; daha sonra bu veri kümesine başvuran kopyalama etkinliği gerçek değeri veri kümesine geçirir.

    {
        "name": "AzureSqlDWDataset",
        "properties": {
            "type": "AzureSqlDWTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDWLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": {
                    "value": "@{dataset().DWTableName}",
                    "type": "Expression"
                }
            },
            "parameters":{
                "DWTableName":{
                    "type":"String"
                }
            }
        }
    }
    
  2. AzureSqlDWDataset veri kümesini oluşturmak için Set-AzDataFactoryV2Dataset cmdlet'ini çalıştırın.

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

    Örnek çıktı aşağıdaki gibidir:

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

İşlem hatları oluşturun

Bu öğreticide, iki işlem hattı oluşturacaksınız:

"IterateAndCopySQLTables" işlem hattını oluşturma

Bu işlem hattı parametre olarak tablo listesini alır. Listedeki her tablo için, Azure SQL Veritabanı'deki verileri, aşamalı kopya ve PolyBase yöntemlerini kullanarak Azure Synapse Analytics'e kopyalar.

  1. C:\ADFv2TutorialBulkCopy klasöründe aşağıdaki içeriğe sahip IterateAndCopySQLTables.json adlı bir JSON dosyası oluşturun:

    {
        "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. İşlem hattını oluşturmak için: IterateAndCopySQLTables, Set-AzDataFactoryV2Pipeline cmdlet'ini çalıştırın.

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

    Örnek çıktı aşağıdaki gibidir:

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

"GetTableListAndTriggerCopyData" işlem hattını oluşturma

Bu işlem hattı iki adım gerçekleştirir:

  • Kopyalanacak tabloların listesini almak için Azure SQL Veritabanı sistem tablosunu arar.
  • Gerçek veri kopyalamayı yapmak için "IterateAndCopySQLTables" işlem hattını tetikler.
  1. C:\ADFv2TutorialBulkCopy klasöründe aşağıdaki içeriğe sahip GetTableListAndTriggerCopyData.json adlı bir JSON dosyası oluşturun:

    {
        "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. getTableListAndTriggerCopyData işlem hattını oluşturmak için Set-AzDataFactoryV2Pipeline cmdlet'ini çalıştırın.

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

    Örnek çıktı aşağıdaki gibidir:

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

Boru hattı çalışmasını başlatma ve izleme

  1. Ana "GetTableListAndTriggerCopyData" işlem hattı için bir çalıştırma başlatın ve gelecekte izlemek üzere işlem hattı çalıştırma kimliğini kaydedin. Bu işlemde, "IterateAndCopySQLTables" işlem hattının çalıştırılmasını ExecutePipeline etkinliğinde belirtildiği şekilde tetikler.

    $runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'GetTableListAndTriggerCopyData'
    
  2. GetTableListAndTriggerCopyData işlem hattının durumunu sürekli olarak denetlemek için aşağıdaki betiği çalıştırın ve son işlem hattı çalıştırma ve etkinlik çalıştırma sonucunun çıktısını alın.

    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
    

    Örnek çalıştırmanın çıktısı aşağıdaki gibidir:

    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. "IterateAndCopySQLTables" işlem hattının çalıştırma kimliğini alabilir ve ayrıntılı etkinlik çalıştırma sonucunu aşağıdaki gibi denetleyebilirsiniz.

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

    Örnek çalıştırmanın çıktısı aşağıdaki gibidir:

    {
        "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. Azure Synapse Analytics hedefinize bağlanın ve verilerin Azure SQL Veritabanı'ndan düzgün bir şekilde kopyalandığını onaylayın.

Bu öğreticide aşağıdaki adımları gerçekleştirdiniz:

  • Veri fabrikası oluşturma.
  • Azure SQL Veritabanı, Azure Synapse Analytics ve Azure Depolama bağlı hizmetlerini oluşturun.
  • Azure SQL Veritabanı ve Azure Synapse Analytics veri kümeleri oluşturun.
  • Kopyalanacak tabloları aramak için bir işlem hattı ve gerçek kopyalama işlemini gerçekleştirmek için başka bir işlem hattı oluşturma.
  • İşlem hattı çalıştırmasını başlat.
  • İşlem hattı ve etkinlik çalıştırmalarını izleme.

Kaynaktan hedefe verileri artımlı olarak koppyalama hakkında bilgi edinmek için aşağıdaki öğreticiye geçin: