نسخ عدة جداول بشكل جماعي باستخدام Azure Data Factory باستخدام PowerShell

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

Data Factory في Microsoft Fabric هو الجيل القادم من Azure Data Factory، مع بنية أبسط، وذكاء اصطناعي مدمج، وميزات جديدة. إذا كنت جديدا في تكامل البيانات، ابدأ مع Fabric Data Factory. يمكن لأعباء عمل ADF الحالية الترقية إلى Fabric للوصول إلى قدرات جديدة في علوم البيانات، والتحليلات اللحظية، والتقارير.

يوضح هذا الدرس نسخ عدد من الجداول من قاعدة بيانات Azure SQL إلى Azure Synapse Analytics. يمكنك أيضاً تطبيق النمط ذاته في سيناريوهات النسخ الأخرى أيضاً. على سبيل المثال، نسخ الجداول من SQL Server/Oracle إلى قاعدة بيانات Azure SQL/Data Warehouse/Azure Blob، ونسخ مسارات مختلفة من جداول Blob إلى قاعدة بيانات Azure SQL.

يتضمن هذا البرنامج التعليمي الخطوات التالية، على مستوى أعلى:

  • إنشاء data factory.
  • Create قاعدة بيانات Azure SQL, Azure Synapse Analytics, و تخزين Azure linked services.
  • Create قاعدة بيانات Azure SQL and Azure Synapse Analytics datasets.
  • إنشاء بنية أساسية للبحث عن الجداول المراد نسخها وبنية أساسية أخرى لتنفيذ عملية النسخ الفعلي.
  • ابدأ تشغيل تدفق.
  • مراقبة تشغيل التدفق والنشاط.

يستخدم هذا الدرس Azure PowerShell. للتعرف على المزيد حول استخدام أدوات/SDKs أخرى لإنشاء مصنع بيانات، راجع "Quickstarts".

سير العمل من البداية إلى النهاية

في هذا السيناريو، لدينا عدد من الجداول في قاعدة بيانات Azure SQL نرغب في نسخها إلى Azure Synapse Analytics. يرد أدناه التسلسل المنطقي لخطوات سير العمل المتبعة في البنيات الأساسية:

‏‏سير العمل‬

  • تبحث البنية الأساسية الأولى عن قائمة الجداول التي تحتاج إلى نسخها إلى مخازن البيانات المتلقية. بدلاً من ذلك يمكنك الاحتفاظ بجدول بيانات تعريف يسرد جميع الجداول المراد نسخها إلى مخزن البيانات المتلقي. ثم تشغل البنية الأساسية بنية أساسية أخرى، والتي تتكرر في كل جدول من جداول قاعدة البيانات وتنفذ عملية نسخ البيانات.
  • تنفذ البنية الأساسية الثانية النسخ الفعلي. فهي تأخذ قائمة الجداول كمعلمة. لكل جدول في القائمة، انسخ الجدول المحدد في قاعدة بيانات Azure SQL إلى الجدول المقابل في Azure Synapse Analytics باستخدام Staged copy عبر تخزين Blob وPolyBase لتحقيق أفضل أداء. في هذا المثال، تمرر البنية الأساسية الأولى قائمة الجداول كقيمة للمعلمة.

إذا لم يكن لديك اشتراك Azure، أنشئ حسابا free قبل أن تبدأ.

المتطلبات الأساسية

إشعار

نوصي باستخدام وحدة Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لتعلم كيفية الترحيل إلى وحدة Az PowerShell، راجع Migrationate Azure PowerShell من AzureRM إلى Az.

  • Azure PowerShell. اتبع التعليمات في كيفية تثبيت وتكوين Azure PowerShell.
  • تخزين Azure حساب. يستخدم حساب تخزين Azure كتخزين كتلة مرحلية في عملية النسخ الجماعي.
  • قاعدة بيانات Azure SQL. تحتوي قاعدة البيانات هذه على بيانات المصدر.
  • Azure Synapse Analytics. يحتفظ مستودع البيانات هذا بالبيانات المنسوخة من SQL Database.

Prepare SQL Database و Azure Synapse Analytics

تحضير المصدر قاعدة بيانات Azure SQL:

أنشئ قاعدة بيانات باستخدام بيانات Adventure Works LT النموذجية في قاعدة بيانات SQL باتباع مقالة إنشاء قاعدة بيانات في قاعدة بيانات Azure SQL. يقوم هذا الدرس بنسخ جميع الجداول من قاعدة البيانات النموذجية هذه إلى Azure Synapse Analytics.

جهز الحوض Azure Synapse Analytics:

  1. إذا لم يكن لديك مساحة عمل Azure Synapse Analytics، راجع مقالة ابدأ مع Azure Synapse Analytics لخطوات إنشاء واحدة.

  2. Create corresponding table schemas in Azure Synapse Analytics. تستخدم Azure Data Factory لنقل/نسخ البيانات في خطوة لاحقة.

Azure services to access SQL Server

لكل من SQL Database و Azure Synapse Analytics، السماح لخدمات Azure بالوصول إلى SQL server. تأكد من أن إعداد السماح بالوصول إلى خدمات Azure تم تفعيله ON لخادمك. تسمح هذه الإعداد لخدمة Data Factory بقراءة البيانات من قاعدة بيانات Azure SQL وكتابة البيانات إلى Azure Synapse Analytics. للتحقق من هذا الإعداد وتشغيله، قم بالخطوات التالية:

  1. أنقر فوق All services على الشمال ثم أنقر فوق SQL servers.
  2. حدد الخادم، وأنقر فوق Firewall من SETTINGS.
  3. في صفحة إعدادات جدار الحماية، انقر على ON للاطلاع على السماح بالوصول إلى Azure services.

إنشاء مصدرًا للبيانات

  1. شغّل PowerShell. حافظ على Azure PowerShell مفتوحا حتى نهاية هذا الدرس. في حال قمت بإغلاق وإعادة فتح، تحتاج إلى تشغيل الأوامر مرة أخرى.

    شغل الأمر التالي، وأدخل اسم المستخدم وكلمة المرور التي تستخدمها لتسجيل الدخول إلى بوابة Azure:

    Connect-AzAccount
    

    شغّل الأمر التالي لعرض جميع الاشتراكات لهذا الحساب:

    Get-AzSubscription
    

    شغّل الأمر التالي لتحديد الاشتراك الذي تريد العمل معه. استبدل SubscriptionId بمعرف اشتراكك Azure:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"
    
  2. شغل cmdlet Set-AzDataFactoryV2 لإنشاء مصنع بيانات. استبدل العنصر النائب بقيمك الخاصة قبل تنفيذ الأمر.

    $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
    

    لاحظ النقاط التالية:

    • يجب أن يكون اسم مصنع بيانات Azure فريدا عالميا. في حال تلقيت الخطأ التالي، تغيير الاسم، ثم حاول مرة أخرى.

      The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.
      
    • لإنشاء مثيلات Data Factory، يجب أن تكون مساهما أو مديرا لاشتراك Azure.

    • للحصول على قائمة بالمناطق Azure التي يتوفر فيها Data Factory حاليا، اختر المناطق التي تهمك في الصفحة التالية، ثم قم بتوسيع Analytics لتحديد موقع Data Factory: المنتجات المتاحة حسب المنطقة. مخازن البيانات (تخزين Azure، قاعدة بيانات Azure SQL، إلخ) والحسابات (HDInsight، إلخ) المستخدمة في Data Factory يمكن أن تكون في مناطق أخرى.

إنشاء linked services

في هذا البرنامج التعليمي، يمكنك إنشاء ثلاث خدمات متصلة للمصدر، والمتلقي، والبيانات الثنائية الكبيرة المرحلية على التوالي، والتي تشمل اتصالات بمخازن البيانات الخاصة بك:

Create the source قاعدة بيانات Azure SQL linked service

  1. أنشئ ملف JSON باسم AzureSqlDatabaseLinkedService.json في المجلد C:\ADFv2TutorialBulkCopy بالمحتوى التالي: (أنشئ المجلد ADFv2TutorialBulkCopy إذا لم يكن موجوداً بالفعل.)

    هام

    استبدل <servername>، <databasename>، <username>@<servername> و <password> بقيم قاعدة بيانات Azure SQL الخاصة بك قبل حفظ الملف.

    {
        "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، انتقل إلى مجلد ADFv2TutorialBulkCopy.

  3. شغل cmdlet Set-AzDataFactoryV2LinkedService لإنشاء الخدمة المرتبطة: AzureSqlDatabaseLinkedService.

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

    فيما يلي ناتج العينة:

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

Create the sink Azure Synapse Analytics linked service

  1. أنشئ ملف JSON باسم AzureSqlDWLinkedService.json في المجلد C:\ADFv2TutorialBulkCopy، بالمحتوى التالي:

    هام

    استبدل <servername>، <databasename>، <username>@<servername> و <password> بقيم قاعدة بيانات Azure SQL الخاصة بك قبل حفظ الملف.

    {
        "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. أنشئ الخدمة المتصلة AzureSqlDWLinkedService، شغل cmdlet Set-AzDataFactoryV2LinkedService.

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

    فيما يلي ناتج العينة:

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

Create the stageing تخزين Azure linked service

في هذا الدرس، تستخدم تخزين Azure Blob كمنطقة تجهيز مؤقتة لتمكين PolyBase لتحسين أداء النسخ.

  1. أنشئ ملف JSON باسم AzureSqlDWLinkedService.json في المجلد C:\ADFv2TutorialBulkCopy، بالمحتوى التالي:

    هام

    استبدل <accountName> و <accountKey> باسم ومفتاح حساب التخزين Azure الخاص بك قبل حفظ الملف.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "type": "AzureStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>"
            }
        }
    }
    
  2. لإنشاء الخدمة المتصلة: AzureStorageLinkedService، شغل cmdlet Set-AzDataFactoryV2LinkedService.

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

    فيما يلي ناتج العينة:

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

إنشاء datasets

في هذا البرنامج التعليمي، لإنشاء مجموعات بيانات المصدر والمتلقي، التي تحدد موقع تخزين البيانات:

أنشئ مجموعة بيانات لـ SQL Database المصدر

  1. أنشئ ملف JSON باسم AzureSqlDatabaseDataset.json في مجلد C:\ADFv2TutorialBulkCopy، بالمحتوى التالي. "tableName" هو اسم وهمي حيث أنك تستخدم فيما بعد استعلام SQL في نشاط النسخ لاسترداد البيانات.

    {
        "name": "AzureSqlDatabaseDataset",
        "properties": {
            "type": "AzureSqlTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDatabaseLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": "dummy"
            }
        }
    }
    
  2. لإنشاء مجموعة البيانات: AzureSqlDatabaseDataset، شغل "Set-AzDataFactoryV2Dataset cmdlet.

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

    فيما يلي ناتج العينة:

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

Create a dataset for sink Azure Synapse Analytics

  1. نشئ ملف JSON باسم AzureSqlDWDataset.json في مجلد C:\ADFv2TutorialBulkCopy، بالمحتوى التالي: يُحدد "tableName" على أنه معلمة، وبعد ذلك يمرر نشاط النسخ الذي يشير إلى مجموعة البيانات هذه القيمة الفعلية إلى مجموعة البيانات.

    {
        "name": "AzureSqlDWDataset",
        "properties": {
            "type": "AzureSqlDWTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDWLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": {
                    "value": "@{dataset().DWTableName}",
                    "type": "Expression"
                }
            },
            "parameters":{
                "DWTableName":{
                    "type":"String"
                }
            }
        }
    }
    
  2. لإنشاء مجموعة البيانات: AzureSqlDWDataset، شغل Set-AzDataFactoryV2Dataset cmdlet.

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

    فيما يلي ناتج العينة:

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

البنيات الأساسية لتطبيق Azure

في هذا البرنامج التعليمي، تنشئ أثنين بنية أساسية:

أنشئ البنية الأساسية "IterateAndCopySQLTables"

تتخذ هذه البنية الأساسية قائمة جداول على أنها معلمة. لكل جدول في القائمة، يقوم بنسخ البيانات من الجدول في قاعدة بيانات Azure SQL إلى Azure Synapse Analytics باستخدام Staged copy وPolyBase.

  1. أنشئ ملف JSON باسم IterateAndCopySQLTables.json في المجلد C:\ADFv2TutorialBulkCopy، بالمحتوى التالي:

    {
        "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. لإنشاء البنية الأساسية: IterateAndCopySQLTables، شغل Set-AzDataFactoryV2Pipeline cmdlet.

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

    فيما يلي ناتج العينة:

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

أنشئ البنية الأساسية "GetTableListAndTriggerCopyData"

تؤدي هذه البنية الأساسية خطوتين اثنتين:

  • يبحث عن جدول نظام قاعدة بيانات Azure SQL للحصول على قائمة الجداول التي يجب نسخها.
  • شغل البنية الأساسية "IterateAndCopySQLTables" لإجراء نسخ البيانات الفعلي.
  1. أنشئ ملف JSON باسم GetTableListAndTriggerCopyData.json في المجلدC:\ADFv2TutorialBulkCopy، بالمحتوى التالي:

    {
        "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، شغل Set-AzDataFactoryV2Pipeline cmdlet.

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

    فيما يلي ناتج العينة:

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

بدء وعرض تشغيل البنية الأساسية

  1. بدء تشغيل بنية أساسية للبنية الأساسية الرئيسية "GetTableListAndTriggerCopyData" لحفظ معرف تشغيل البنية الأساسية من أجل المراقبة المستقبلية. في الأسفل، فإنه ينفذ تشغيل البنية الأساسية "IterateAndCopySQLTables" كما هو محدد في نشاط ExecutePipeline.

    $runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'GetTableListAndTriggerCopyData'
    
  2. شغل البرنامج النصي التالي للتحقق باستمرار من حالة تشغيل البنية الأساسية GetTableListAndTriggerCopyData، وأطبع نتيجة التشغيل النهائي للبنية الأساسية ونتيجة تشغيل النشاط.

    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
    

    إليك ناتج تشغيل العينة:

    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"، وفحص نتيجة تشغيل النشاط بالتفصيل على النحو التالي.

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

    إليك ناتج تشغيل العينة:

    {
        "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. Connect to your sink Azure Synapse Analytics وتأكد من أن البيانات قد تم نسخها من قاعدة بيانات Azure SQL بشكل صحيح.

نفّذت الخطوات التالية في هذا البرنامج التعليمي:

  • إنشاء data factory.
  • Create قاعدة بيانات Azure SQL, Azure Synapse Analytics, و تخزين Azure linked services.
  • Create قاعدة بيانات Azure SQL and Azure Synapse Analytics datasets.
  • إنشاء بنية أساسية للبحث عن الجداول المراد نسخها وبنية أساسية أخرى لتنفيذ عملية النسخ الفعلي.
  • ابدأ تشغيل تدفق.
  • مراقبة تشغيل التدفق والنشاط.

تقدم إلى البرنامج التعليمي التالي للتعرف على نسخ البيانات بشكل تدريجي من مصدر إلى وجهة: