Aracılığıyla paylaş


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

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Bu öğreticide, Azure SQL Veritabanı'dan Azure Synapse Analytics'e bir dizi tablo kopyalama gösterilmektedir. Aynı düzeni diğer kopyalama senaryolarında da uygulayabilirsiniz. Örneğin, SQL Server/Oracle’dan Azure SQL Veritabanı/Veri Ambarı/Azure Blob’a tablo kopyalama, Blob’dan Azure SQL Veritabanı tablolarına farklı yollar kopyalama.

Yüksek düzeyde, bu öğretici aşağıdaki adımları içerir:

  • Veri fabrikası oluşturma.
  • Azure SQL Veritabanı, Azure Synapse Analytics ve Azure Depolama bağlı hizmetleri 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.
  • Bir işlem hattı çalıştırması başlatma.
  • İşlem hattı ve etkinlik çalıştırmalarını izleme.

Bu öğretici Azure PowerShell kullanı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ı Azure Synapse Analytics'e kopyalamak istediğimiz birkaç tablomuz vardı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 arar. 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 aşamalı kopya kullanarak Azure SQL Veritabanı içindeki 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 ücretsiz bir hesap oluşturun.

Önkoşullar

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

  • Azure PowerShell. Azure PowerShell’i yükleme ve yapılandırma bölümündeki yönergeleri izleyin.
  • Azure Depolama hesabı. Azure Depolama hesabı, toplu kopyalama işleminde hazırlama blob depolama alanı 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'i hazırlama

Kaynak Azure SQL Veritabanı’nı hazırlama:

Azure SQL Veritabanı'de veritabanı oluşturma makalesini izleyerek SQL Veritabanı Adventure Works LT örnek verileriyle bir veritabanı oluşturun. Bu öğretici, bu örnek veritabanındaki tüm tabloları Azure Synapse Analytics'e kopyalar.

Havuz Azure Synapse Analytics'i hazırlayın:

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

  2. Azure Synapse Analytics'te ilgili tablo şemalarını oluşturun. Daha sonraki bir adımda verileri geçirmek/kopyalamak için Azure Data Factory’yi kullanın.

SQL sunucusuna erişime yönelik Azure hizmetleri

Hem SQL Veritabanı hem de Azure Synapse Analytics için Azure hizmetlerinin SQL server'a erişmesine izin verin. Sunucunuz için Azure hizmetlerine erişime izin ver ayarının AÇILDI olduğundan emin olun. Bu ayar, Data Factory hizmetinin Azure SQL Veritabanı verileri okumasına ve Azure Synapse Analytics'e 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. Güvenlik Duvarı ayarları sayfasında Azure hizmetlerine erişime izin ver için AÇIK’a tıklayın.

Veri fabrikası oluşturma

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

    Aşağıdaki komutu çalıştırın ve Azure portalda oturum açmak için kullandığınız kullanıcı adı 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 isteğiniz aboneliği seçmek için aşağıdaki komutu çalıştırın. SubscriptionId’yi Azure aboneliğinizin kimliği ile 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 data factory adı küresel 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ğinde Katkıda Bulunan veya Yönetici rolünüz olmalıdır.

    • Data Factory'nin kullanılabileceği Azure bölgelerinin bir listesi için bir sonraki sayfada ilgilendiğiniz bölgeleri seçin ve Analytics'i genişleterek Data Factory: Products available by region (Bölgeye göre kullanılabilir durumdaki ürünler) bölümünü bulun. Veri fabrikası tarafından kullanılan verileri depoları (Azure Depolama, Azure SQL Veritabanı vb.) ve işlemler (HDInsight vb.) başka 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:

Kaynak Azure SQL Veritabanı bağlı hizmetini 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

    Dosyayı kaydetmeden önce servername, databasename>, <username>@<servername> ve <password> değerlerini Azure SQL Veritabanı değerleriyle 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’de 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
    

Havuz Azure Synapse Analytics bağlı hizmetini oluşturma

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

    Önemli

    Dosyayı kaydetmeden önce servername, databasename>, <username>@<servername> ve <password> değerlerini Azure SQL Veritabanı değerleriyle 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
    

Hazırlama Azure Depolama bağlı hizmetini oluşturma

Bu öğreticide Azure Blob depolamayı daha iyi bir kopyalama performansı için PolyBase’i etkinleştiren geçici bir hazırlama alanı olarak kullanırsı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> değerlerini 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
    

Havuz Azure Synapse Analytics için veri kümesi oluşturma

  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 hattı oluşturma

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ı tablosundaki verileri aşamalı kopya ve PolyBase 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        :
    

İşlem hattı çalıştırmasını başlatma ve izleme

  1. Ana "GetTableListAndTriggerCopyData" işlem hattı için bir işlem hattı çalıştırması başlatın ve gelecekte izlemek üzere işlem hattı çalıştırma kimliğini yakalayın. Altında, "IterateAndCopySQLTables" işlem hattının çalıştırmasını ExecutePipeline etkinliğinde belirtilen ş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. Havuz Azure Synapse Analytics'e bağlanın ve verilerin Azure SQL Veritabanı 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ı hizmetleri 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.
  • Bir işlem hattı çalıştırması başlatma.
  • İş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: