Menyalin data dari database SQL Server ke penyimpanan Blob Azure
BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Di tutorial ini, Anda Azure PowerShell untuk membuat alur pabrik data yang menyalin data dari database SQL Server ke penyimpanan Blob Azure. Anda membuat dan menggunakan runtime integrasi yang dihosting sendiri, yang memindahkan data antara penyimpanan data lokal dan cloud.
Catatan
Artikel ini tidak memberikan pengenalan mendetail tentang layanan Data Factory. Untuk informasi selengkapnya, lihat Pengantar Azure Data Factory.
Di tutorial ini, Anda melakukan langkah-langkah berikuti:
- Membuat pabrik data.
- Membuat runtime integrasi yang dihost sendiri.
- Buat layanan tertaut SQL Server dan Azure Storage.
- Buat himpunan data SQL Server dan Blob Azure.
- Buat alur dengan aktivitas salin untuk memindahkan data.
- Memulai eksekusi alur.
- Pantau eksekusi alur.
Prasyarat
Langganan Azure
Sebelum memulai, jika Anda belum memiliki langganan Azure, buat akun gratis.
Peran Azure
Untuk membuat instans data factory, akun pengguna yang Anda gunakan untuk masuk ke Azure harus ditetapkan peran Kontributor atau Pemilik atau admin langganan Azure.
Untuk menampilkan izin yang Anda miliki di langganan, masuk ke portal Microsoft Azure, pilih nama pengguna Anda di sudut kanan atas, lalu pilih Izin. Jika Anda memiliki akses ke beberapa langganan, pilih langganan yang sesuai. Untuk contoh instruksi tentang cara menambahkan pengguna ke peran, lihat Tetapkan peran Azure menggunakan portal Microsoft Azure.
SQL Server 2014, 2016, dan 2017
Dalam tutorial ini, Anda menggunakan database Microsoft SQL Server sebagai penyimpanan data sumber. Alur di pabrik data yang Anda buat Di tutorial ini menyalin data dari database Microsoft SQL Server ini (sumber) ke penyimpanan Blob Azure (sink). Anda kemudian membuat tabel bernama emp di database SQL Server Anda, dan menyisipkan beberapa entri sampel ke dalam tabel.
Mulailah SQL Server Management Studio. Jika belum terpasang di komputer Anda, buka Unduh SQL Server Management Studio.
Sambungkan ke instans SQL Server Anda dengan menggunakan kredensial Anda.
Buat sampel database. Dalam tampilan pohon, klik kanan Database, lalu pilih Database Baru.
Di jendela Database Baru, masukkan nama untuk database, lalu pilih OK.
Untuk membuat tabel emp dan menyisipkan beberapa sampel data ke dalamnya, jalankan skrip kueri berikut ini terhadap database. Dalam tampilan pohon, klik kanan database yang Anda buat, lalu pilih Kueri Baru.
CREATE TABLE dbo.emp ( ID int IDENTITY(1,1) NOT NULL, FirstName varchar(50), LastName varchar(50) ) GO INSERT INTO emp (FirstName, LastName) VALUES ('John', 'Doe') INSERT INTO emp (FirstName, LastName) VALUES ('Jane', 'Doe') GO
Akun Azure Storage
Di tutorial ini, Anda menggunakan akun penyimpanan Azure tujuan umum (khususnya, penyimpanan Blob Azure) sebagai penyimpanan data tujuan/sink. Jika Anda tidak memiliki akun penyimpanan Azure, lihat Membuat akun penyimpanan. Alur di pabrik data yang Anda buat Di tutorial ini menyalin data dari database SQL Server (sumber) ke penyimpanan Blob Azure (sink).
Dapatkan nama akun penyimpanan dan kunci akun
Anda dapat menggunakan nama dan kunci akun penyimpanan Azure Anda Di tutorial ini. Dapatkan nama dan kunci akun penyimpanan Anda dengan mengikuti langkah berikut:
Masuk ke portal Microsoft Azure dengan nama pengguna dan kata sandi Azure Anda.
Di filter panel kiri, pilih Layanan lainnya, dengan menggunakan kata kunci Penyimpanan, lalu pilih Akun penyimpanan.
Dalam daftar akun penyimpanan, filter untuk akun penyimpanan Anda (jika diperlukan), lalu pilih akun penyimpanan Anda.
Di jendela Akun penyimpanan, pilih Tombol akses.
Dalam kotak Nama akun penyimpanan dan kotak kunci1, lalu tempelkan nilai, lalu tempelkan ke Notepad atau editor lain untuk digunakan nanti dalam tutorial.
Membuat kontainer adftutorial
Di bagian ini, Anda membuat kontainer blob bernama adftutorial di penyimpanan Blob Azure Anda.
Di jendela Akun penyimpanan, beralih ke Gambaran Umum, lalu pilih Blob.
Di jendela Blob service, pilih Kontainer.
Di jendela Kontainer baru, dalam kotak Nama, masukkan adftutorial, lalu pilih OK.
Dalam daftar kontainer, pilih adftutorial.
Pastikan jendela kontainer untuk adftutorial tetap terbuka. Anda menggunakannya untuk memverifikasi output di akhir tutorial. Data Factory secara otomatis membuat folder output dalam kontainer ini, sehingga Anda tidak perlu membuatnya.
Windows PowerShell
Menginstal Azure PowerShell
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Pasang versi terbaru Azure PowerShell jika Anda belum memilikinya di mesin Anda. Untuk informasi selengkapnya, lihat Cara memasang dan mengonfigurasi Azure PowerShell.
Masuk ke PowerShell
Mulai PowerShell di mesin Anda, dan tetap buka melalui penyelesaian tutorial mulai cepat ini. Jika menutup dan membuka kembali, Anda perlu menjalankan perintah ini lagi.
Jalankan perintah berikut dan masukkan nama pengguna serta kata sandi Azure yang Anda gunakan untuk masuk ke portal Microsoft Azure:
Connect-AzAccount
Jika Anda memiliki beberapa langganan Azure, jalankan perintah berikut ini untuk memilih langganan yang ingin Anda kerjakan. Ganti SubscriptionId dengan ID langganan Azure Anda:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Membuat pabrik data
Tentukan variabel untuk nama grup sumber daya yang akan Anda gunakan di perintah PowerShell nanti. Salin perintah berikut ke PowerShell, tentukan nama untuk grup sumber daya Azure (diapit tanda kutip ganda; misalnya,
"adfrg"
), lalu jalankan perintah.$resourceGroupName = "ADFTutorialResourceGroup"
Untuk membuat grup sumber daya Azure, jalankan perintah berikut:
New-AzResourceGroup $resourceGroupName -location 'East US'
Jika grup sumber daya sudah ada, Anda mungkin tidak ingin menimpanya. Tetapkan nilai yang berbeda ke variabel
$resourceGroupName
dan jalankan perintah lagi.Tentukan variabel untuk nama pabrik data yang dapat Anda gunakan di perintah PowerShell nanti. Nama kontainer harus diawali dengan huruf atau angka, dan hanya dapat berisi huruf, angka, dan karakter tanda hubung (-).
Penting
Perbarui nama pabrik data dengan nama yang unik secara global. Misalnya, ADFTutorialFactorySP1127.
$dataFactoryName = "ADFTutorialFactory"
Tentukan variabel untuk lokasi pabrik data:
$location = "East US"
Untuk membuat pabrik data, jalankan
Set-AzDataFactoryV2
cmdlet berikut:Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName
Catatan
- Nama pabrik data harus unik secara global. Jika Anda menerima kesalahan berikut, ubah nama dan coba lagi.
The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique.
- Untuk membuat instans pabrk data, akun pengguna yang Anda gunakan untuk masuk ke Azure harus ditetapkan peran kontributor atau pemilik atau admin langganan Azure.
- Untuk daftar wilayah Azure tempat Data Factory saat ini tersedia, pilih wilayah yang menarik minat Anda pada halaman berikut, lalu perluas Analitik untuk menemukan Data Factory: Produk yang tersedia menurut wilayah. Penyimpanan data (Azure Storage, Azure SQL Database, dll.) dan komputasi (Azure HDInsight, dll.) yang digunakan oleh pabrik data dapat berada di wilayah lain.
Membuat runtime integrasi yang dihost sendiri
Di bagian ini, Anda membuat runtime integrasi yang dihost sendiri dan mengaitkannya dengan mesin lokal dengan database Microsoft SQL Server. Runtime integrasi yang dihost sendiri adalah komponen yang menyalin data dari database SQL Server di mesin Anda ke penyimpanan Blob Azure.
Buat variabel untuk nama runtime integrasi. Gunakan nama unik, dan catat namanya. Anda menggunakannya nanti dalam tutorial ini.
$integrationRuntimeName = "ADFTutorialIR"
Membuat runtime integrasi yang dihost sendiri.
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $integrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"
Berikut adalah output sampel:
Name : ADFTutorialIR Type : SelfHosted ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>
Untuk mengambil status runtime integrasi yang dibuat, jalankan perintah berikut:
Get-AzDataFactoryV2IntegrationRuntime -name $integrationRuntimeName -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Status
Berikut adalah output sampel:
State : NeedRegistration Version : CreateTime : 9/10/2019 3:24:09 AM AutoUpdate : On ScheduledUpdateDate : UpdateDelayOffset : LocalTimeZoneOffset : InternalChannelEncryption : Capabilities : {} ServiceUrls : {eu.frontend.clouddatahub.net} Nodes : {} Links : {} Name : <Integration Runtime name> Type : SelfHosted ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>
Untuk mengambil kunci autentikasi guna mendaftarkan runtime integrasi yang dihost sendiri dengan layanan Data Factory di cloud, jalankan perintah berikut. Salin salah satu kunci (tidak termasuk tanda kutip) untuk mendaftarkan runtime integrasi yang dihost sendiri yang Anda instal di komputer Anda pada langkah berikutnya.
Get-AzDataFactoryV2IntegrationRuntimeKey -Name $integrationRuntimeName -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName | ConvertTo-Json
Berikut adalah output sampel:
{ "AuthKey1": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=", "AuthKey2": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=" }
Menginstal runtime integrasi
Unduh Integration Runtime Azure Data Factory pada komputer Windows lokal, lalu jalankan instalasi.
Di wizard Selamat Datang di Penyiapan Microsoft Integration Runtime, pilih Berikutnya.
Di jendela Perjanjian Lisensi Pengguna Akhir, terima persyaratan dan perjanjian lisensi, lalu pilih Berikutnya.
Di jendela Folder Tujuan, pilih Berikutnya.
Di jendela Siap menginstal Microsoft Integration Runtime, pilih Instal.
Di wizard Penyiapan Microsoft Integration Runtime yang Telah Selesai, pilih Selesai.
Di jendela Daftarkan Integration Runtime (Dihost sendiri), tempelkan kunci yang Anda simpan di bagian sebelumnya, lalu pilih Daftarkan.
Di jendela Simpul Integration Runtime baru (Dihost sendiri), pilih Selesai.
Ketika runtime integrasi yang dihost sendiri berhasil didaftarkan, pesan berikut akan ditampilkan:
Di jendela Daftarkan Integration Runtime (Dihost sendiri), pilih Luncurkan Configuration Manager.
Saat simpul terhubung ke layanan cloud, pesan berikut ditampilkan:
Uji konektivitas ke database SQL Server Anda dengan melakukan hal berikut:
a. Di jendela Configuration Manager, beralihlah ke tab Diagnostik.
b. Di kotak Jenis sumber data, pilih SqlServer.
c. Masukkan nama server.
d. Masukkan nama database.
e. Pilih mode autentikasi.
f. Masukkan nama pengguna.
g. Masukkan kata sandi yang dikaitkan dengan nama pengguna.
h. Untuk mengonfirmasi bahwa runtime integrasi dapat terhubung ke SQL Server, pilih Uji.
Jika koneksi berhasil, ikon tanda centang hijau akan ditampilkan. Jika tidak, Anda akan menerima pesan kesalahan terkait kegagalan tersebut. Perbaiki masalah apa pun, dan pastikan bahwa runtime integrasi dapat terhubung ke instans SQL Server Anda.
Perhatikan semua nilai sebelumnya untuk digunakan nanti Di tutorial ini.
Membuat layanan tertaut
Untuk menautkan penyimpanan data dan layanan komputasi ke pabrik data, buat layanan tertaut di pabrik data. Di tutorial ini, Anda menautkan akun penyimpanan Azure dan instans SQL Server ke penyimpanan data. Layanan tertaut memiliki informasi koneksi yang digunakan layanan Data Factory saat runtime untuk menghubungkannya.
Buat layanan tertaut Azure Storage (tujuan/sink)
Pada langkah ini, Anda menautkan akun penyimpanan Azure ke pabrik data.
Buat file JSON bernama AzureStorageLinkedService.json di folder C:\ADFv2Tutorial dengan kode berikut. Jika folder ADFv2Tutorial masih belum ada, buatlah.
Penting
Sebelum Anda menyimpan file, ganti <accountName> dan <accountKey> dengan nama dan kunci akun penyimpanan Azure Anda. Anda mencatat semuanya di bagian Prasyarat.
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }
Di PowerShell, beralihlah ke folder C:\ADFv2Tutorial.
Set-Location 'C:\ADFv2Tutorial'
Untuk membuat layanan tertaut, AzureStorageLinkedService, jalankan cmdlet
Set-AzDataFactoryV2LinkedService
berikut:Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"
Berikut adalah hasil sampelnya:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService
Jika Anda menerima kesalahan "file tidak ditemukan", konfirmasikan bahwa file tersebut sudah ada dengan menjalankan perintah
dir
. Jika nama file memiliki ekstensi .txt (misalnya, AzureStorageLinkedService.json.txt), hapus file tersebut, lalu jalankan perintah PowerShell lagi.
Buat dan enkripsi layanan tertaut SQL Server (sumber)
Di langkah ini, Anda menautkan instans SQL Server Anda ke pabrik data.
Buat file JSON bernama AzureStorageLinkedService.json di folder C:\ADFv2Tutorial dengan menggunakan kode berikut:
Penting
Pilih bagian yang didasarkan pada autentikasi yang Anda gunakan untuk menghubungkan ke SQL Server.
Menggunakan autentikasi SQL (sa):
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=False;data source=<serverName>;initial catalog=<databaseName>;user id=<userName>;password=<password>" }, "connectVia":{ "referenceName":"<integration runtime name> ", "type":"IntegrationRuntimeReference" } } }
Menggunakan autentikasi Windows:
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=True;data source=<serverName>;initial catalog=<databaseName>", "userName":"<username> or <domain>\\<username>", "password":{ "type":"SecureString", "value":"<password>" } }, "connectVia":{ "referenceName":"<integration runtime name>", "type":"IntegrationRuntimeReference" } } }
Penting
- Pilih bagian yang didasarkan pada autentikasi yang Anda gunakan untuk menghubungkan ke instans SQL Server.
- Ganti <nama runtime integrasi> dengan nama runtime integrasi Anda.
- Sebelum Anda menyimpan file, ganti <servername>, <databasename>, <username>, dan <kata sandi> dengan nilai instans SQL Server Anda.
- Jika Anda perlu menggunakan garis miring terbalik (\) di akun pengguna atau nama server Anda, awali dengan karakter escape (\). Misalnya, gunakan domainsaya\\penggunasaya.
Untuk mengenkripsi data sensitif (nama pengguna, kata sandi, dan sebagainya), jalankan cmdlet
New-AzDataFactoryV2LinkedServiceEncryptedCredential
.
Enkripsi ini memastikan bahwa kredensial telah dienkripsi menggunakan Antarmuka Pemrograman Aplikasi Perlindungan Data (DPAPI). Kredensial terenkripsi disimpan secara lokal pada simpul runtime integrasi yang dihost sendiri (komputer lokal). Payload output dapat dialihkan ke file JSON lain (dalam kasus ini, encryptedLinkedService.json) yang berisi kredensial terenkripsi.New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json
Jalankan perintah berikut, yang akan membuat EncryptedSqlServerLinkedService:
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -File ".\encryptedSqlServerLinkedService.json"
Membuat himpunan data
Dalam langkah ini, Anda membuat himpunan data input dan output. Keduanya mewakili data input dan output untuk operasi penyalinan, yang menyalin data dari database SQL Server ke Azure Blob Storage.
Buat himpunan data untuk database SQL Server sumber
Pada langkah ini, Anda menentukan himpunan data yang mewakili data di instans DB SQL Server. Himpunan data adalah salah satu jenis dari SqlServerTable. Hal ini mengacu pada layanan tertaut SQL Server yang Anda buat di langkah sebelumnya. Layanan tertaut memiliki informasi koneksi yang digunakan layanan Data Factory untuk menghubungkan ke instans SQL Server Anda saat runtime. Himpunan data ini menentukan tabel SQL dalam database yang berisi data. Di tutorial ini, tabel emp berisi data sumber.
Buat file JSON bernama SqlServerDataset.json di folder C:\ADFv2Tutorial, dengan kode berikut:
{ "name":"SqlServerDataset", "properties":{ "linkedServiceName":{ "referenceName":"EncryptedSqlServerLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"SqlServerTable", "schema":[ ], "typeProperties":{ "schema":"dbo", "table":"emp" } } }
Untuk membuat himpunan data SqlServerDataset, jalankan cmdlet
Set-AzDataFactoryV2Dataset
.Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SqlServerDataset" -File ".\SqlServerDataset.json"
Berikut adalah output sampel:
DatasetName : SqlServerDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.SqlServerTableDataset
Membuat himpunan data untuk Azure Blob Storage (sink)
Pada langkah ini, Anda menentukan himpunan data yang mewakili data yang akan disalin ke Azure Blob Storage. Himpunan data adalah salah satu jenis dari AzureBlob. Hal ini mengacu pada layanan tertaut Azure Storage yang Anda buat sebelumnya Di tutorial ini.
Layanan tertaut memiliki informasi koneksi yang digunakan pabrik data saat runtime untuk menghubungkan ke akun penyimpanan Azure Anda. Himpunan data ini menentukan folder di penyimpanan Azure tempat data disalin dari database SQL Server. Di tutorial ini, foldernya adalah adftutorial/fromonprem, di mana adftutorial
adalah kontainer blobnya dan fromonprem
adalah foldernya.
Buat file JSON bernama AzureBlobDataset.json di folder C:\ADFv2Tutorial, dengan kode berikut:
{ "name":"AzureBlobDataset", "properties":{ "linkedServiceName":{ "referenceName":"AzureStorageLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"DelimitedText", "typeProperties":{ "location":{ "type":"AzureBlobStorageLocation", "folderPath":"fromonprem", "container":"adftutorial" }, "columnDelimiter":",", "escapeChar":"\\", "quoteChar":"\"" }, "schema":[ ] }, "type":"Microsoft.DataFactory/factories/datasets" }
Untuk membuat himpunan data AzureBlobDataset, jalankan cmdlet
Set-AzDataFactoryV2Dataset
.Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureBlobDataset" -File ".\AzureBlobDataset.json"
Berikut adalah output sampel:
DatasetName : AzureBlobDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.DelimitedTextDataset
Buat alur
Di tutorial ini, Anda membuat alur dengan aktivitas penyalinan. Aktivitas penyalinan menggunakan SqlServerDataset sebagai himpunan data input dan AzureBlobDataset sebagai himpunan data output. Jenis sumber diatur ke SqlSource dan jenis sink diatur ke BlobSink.
Buat file JSON bernama SqlServerToBlobPipeline.json di folder C:\ADFv2Tutorial, dengan kode berikut:
{ "name":"SqlServerToBlobPipeline", "properties":{ "activities":[ { "name":"CopySqlServerToAzureBlobActivity", "type":"Copy", "dependsOn":[ ], "policy":{ "timeout":"7.00:00:00", "retry":0, "retryIntervalInSeconds":30, "secureOutput":false, "secureInput":false }, "userProperties":[ ], "typeProperties":{ "source":{ "type":"SqlServerSource" }, "sink":{ "type":"DelimitedTextSink", "storeSettings":{ "type":"AzureBlobStorageWriteSettings" }, "formatSettings":{ "type":"DelimitedTextWriteSettings", "quoteAllText":true, "fileExtension":".txt" } }, "enableStaging":false }, "inputs":[ { "referenceName":"SqlServerDataset", "type":"DatasetReference" } ], "outputs":[ { "referenceName":"AzureBlobDataset", "type":"DatasetReference" } ] } ], "annotations":[ ] } }
Untuk membuat alur SQLServerToBlobPipeline, jalankan cmdlet
Set-AzDataFactoryV2Pipeline
.Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SQLServerToBlobPipeline" -File ".\SQLServerToBlobPipeline.json"
Berikut adalah output sampel:
PipelineName : SQLServerToBlobPipeline ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Activities : {CopySqlServerToAzureBlobActivity} Parameters :
Membuat eksekusi alur
Mulai eksekusi alur untuk alur SQLServerToBlobPipeline, dan ambil ID eksekusi alur untuk pemantauan di masa mendatang.
$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'SQLServerToBlobPipeline'
Memantau eksekusi alur
Untuk terus memeriksa status eksekusi alur SQLServerToBlobPipeline, jalankan skrip berikut ini di PowerShell, dan cetak hasil akhirnya:
while ($True) { $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) if (($result | Where-Object { $_.Status -eq "InProgress" } | Measure-Object).count -ne 0) { Write-Host "Pipeline run status: In Progress" -foregroundcolor "Yellow" Start-Sleep -Seconds 30 } else { Write-Host "Pipeline 'SQLServerToBlobPipeline' run finished. Result:" -foregroundcolor "Yellow" $result break } }
Berikut adalah output dari eksekusi sampel:
ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> ActivityRunId : 24af7cf6-efca-4a95-931d-067c5c921c25 ActivityName : CopySqlServerToAzureBlobActivity ActivityType : Copy PipelineRunId : 7b538846-fd4e-409c-99ef-2475329f5729 PipelineName : SQLServerToBlobPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesWritten, sourcePeakConnections...} LinkedServiceName : ActivityRunStart : 9/11/2019 7:10:37 AM ActivityRunEnd : 9/11/2019 7:10:58 AM DurationInMs : 21094 Status : Succeeded Error : {errorCode, message, failureType, target} AdditionalProperties : {[retryAttempt, ], [iterationHash, ], [userProperties, {}], [recoveryStatus, None]...}
Anda bisa mendapatkan ID eksekusi alur SQLServerToBlobPipeline dan memeriksa hasil eksekusi aktivitas secara mendetail dengan menjalankan perintah berikut:
Write-Host "Pipeline 'SQLServerToBlobPipeline' run result:" -foregroundcolor "Yellow" ($result | Where-Object {$_.ActivityName -eq "CopySqlServerToAzureBlobActivity"}).Output.ToString()
Berikut adalah output dari eksekusi sampel:
{ "dataRead":36, "dataWritten":32, "filesWritten":1, "sourcePeakConnections":1, "sinkPeakConnections":1, "rowsRead":2, "rowsCopied":2, "copyDuration":18, "throughput":0.01, "errors":[ ], "effectiveIntegrationRuntime":"ADFTutorialIR", "usedParallelCopies":1, "executionDetails":[ { "source":{ "type":"SqlServer" }, "sink":{ "type":"AzureBlobStorage", "region":"CentralUS" }, "status":"Succeeded", "start":"2019-09-11T07:10:38.2342905Z", "duration":18, "usedParallelCopies":1, "detailedDurations":{ "queuingDuration":6, "timeToFirstByte":0, "transferDuration":5 } } ] }
Verifikasi output
Alur secara otomatis membuat folder output bernama fromonprem di adftutorial
kontainer blob. Konfirmasikan bahwa Anda melihat file dbo.emp.txt di dalam folder output.
Di portal Microsoft Azure, di jendela kontainer adftutorial, pilih Refresh untuk melihat folder output.
Pilih
fromonprem
dalam daftar folder.Konfirmasikan bahwa Anda melihat file bernama
dbo.emp.txt
.
Konten terkait
Alur dalam sampel ini menyalin data dari satu lokasi ke lokasi lain dalam Azure Blob Storage. Anda mempelajari cara untuk:
- Membuat pabrik data.
- Membuat runtime integrasi yang dihost sendiri.
- Buat layanan tertaut SQL Server dan Azure Storage.
- Buat himpunan data SQL Server dan Blob Azure.
- Buat alur dengan aktivitas salin untuk memindahkan data.
- Memulai eksekusi alur.
- Pantau eksekusi alur.
Untuk mengetahui daftar penyimpanan data yang didukung oleh Data Factory, lihat penyimpanan data yang didukung.
Untuk mempelajari cara menyalin data secara massal dari sumber ke tujuan, lanjutkan ke tutorial berikut: