Menjalankan paket SSIS dengan utilitas dtexec berkemampuan 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!

Artikel ini menjelaskan utilitas perintah dtexec berkemampuan Azure (AzureDTExec). Ini digunakan untuk menjalankan paket SQL Server Integration Services (SSIS) pada Azure-SSIS Integration Runtime (IR) di Azure Data Factory.

Utilitas dtexec tradisional dilengkapi dengan SQL Server. Untuk informasi selengkapnya, lihat utilitas dtexec. Ini sering digunakan oleh orkestrator atau penjadwal pihak ketiga, seperti ActiveBatch dan Control-M, untuk menjalankan paket SSIS lokal.

Utilitas AzureDTExec modern dilengkapi dengan alat SQL Server Management Studio (SSMS). Ini juga dapat digunakan oleh orkestrator atau penjadwal pihak ketiga untuk menjalankan paket SSIS di Azure. Ini memfasilitasi pengangkatan dan pemindahan atau migrasi paket SSIS Anda ke cloud. Setelah migrasi, jika Anda ingin tetap menggunakan orkestrator atau penjadwal pihak ketiga dalam operasi sehari-hari Anda, orkestrator atau penjadwal pihak ketiga tersebut sekarang dapat menggunakan AzureDTExec sebagai ganti dari dtexec.

AzureDTExec menjalankan paket Anda sebagai aktivitas Jalankan Paket SSIS di alur Data Factory. Untuk informasi selengkapnya, lihat Menjalankan paket SSIS sebagai aktivitas Azure Data Factory.

AzureDTExec dapat dikonfigurasi melalui SSMS untuk menggunakan aplikasi Microsoft Entra yang menghasilkan alur di pabrik data Anda. Ini juga dapat dikonfigurasi untuk mengakses sistem file, berbagi file, atau Azure Files tempat Anda menyimpan paket Anda. Berdasarkan nilai yang Anda berikan untuk opsi invokasinya, AzureDTExec menghasilkan dan menjalankan alur Data Factory yang unik dengan aktivitas Jalankan Paket SSIS di dalamnya. Menggunakan AzureDTExec dengan nilai yang sama untuk opsinya akan menjalankan ulang alur yang ada.

Prasyarat

Untuk menggunakan AzureDTExec, unduh dan pasang SQL Server Management Studio versi terbaru, yaitu versi 18.3 atau yang lebih baru. Unduh dari situs web ini.

Mengonfigurasi utilitas AzureDTExec

Memasang SQL Server Management Studio di komputer lokal Anda juga memasang AzureDTExec. Untuk mengonfigurasi pengaturannya, mulai SQL Server Management Studio dengan opsi Jalankan sebagai administrator. Lalu pilih Alat>Migrasi ke Azure>Konfigurasikan DTExec berkemampuan Azure.

Configure Azure-enabled dtexec menu

Tindakan ini membuka jendela AzureDTExecConfig yang perlu dibuka dengan hak istimewa admin agar dapat menulis ke file AzureDTExec.settings. Jika Anda belum menjalankan SQL Server Management Studio sebagai administrator, jendela Kontrol Akun Pengguna (UAC) akan terbuka. Masukkan kata sandi admin Anda untuk meningkatkan hak istimewa Anda.

Configure Azure-enabled dtexec settings

Di jendela AzureDTExecConfig, masukkan pengaturan konfigurasi Anda sebagai berikut:

  • ApplicationId: Masukkan pengidentifikasi unik aplikasi Microsoft Entra yang Anda buat dengan izin yang tepat untuk menghasilkan alur di pabrik data Anda. Untuk informasi selengkapnya, lihat Membuat aplikasi Microsoft Entra dan perwakilan layanan melalui portal Azure.
  • AuthenticationKey: Masukkan kunci autentikasi untuk aplikasi Microsoft Entra Anda.
  • TenantId: Masukkan pengidentifikasi unik penyewa Microsoft Entra, tempat aplikasi Microsoft Entra Anda dibuat.
  • DataFactory: Masukkan nama pabrik data Anda di mana alur unik dengan aktivitas Jalankan Paket SSIS di dalamnya dihasilkan berdasarkan nilai opsi yang diberikan saat Anda menggunakan AzureDTExec.
  • IRName: Masukkan nama Azure-SSIS IR di pabrik data Anda, di mana paket yang ditentukan dalam jalur Universal Naming Convention (UNC) akan berjalan ketika Anda menggunakan AzureDTExec.
  • PipelineNameHashStrLen: Masukkan panjang string hash yang akan dihasilkan dari nilai opsi yang Anda berikan saat Anda menggunakan AzureDTExec. String digunakan untuk membentuk nama unik untuk alur Data Factory yang menjalankan paket Anda di Azure-SSIS IR. Biasanya panjang 32 karakter sudah cukup.
  • ResourceGroup: Masukkan nama grup sumber daya Azure tempat pabrik data Anda dibuat.
  • SubscriptionId: Masukkan pengidentifikasi unik langganan Azure, tempat pabrik data Anda dibuat.
  • LogAccessDomain: Masukkan informasi masuk domain untuk mengakses folder log Anda di jalur UNC-nya saat Anda menulis file log, yang diperlukan saat LogPath ditentukan dan LogLevel tidak null.
  • LogAccessPassword: Masukkan informasi masuk kata sandi untuk mengakses folder log Anda di jalur UNC-nya saat Anda menulis file log, yang diperlukan saat LogPath ditentukan dan LogLevel tidak null.
  • LogAccessUserName: Masukkan informasi masuk nama pengguna untuk mengakses folder log Anda di jalur UNC-nya saat Anda menulis file log, yang diperlukan saat LogPath ditentukan dan LogLevel tidak null.
  • LogLevel: Masukkan cakupan pengelogan yang dipilih dari opsi null, Dasar, Verbose, atau opsi Performa ang telah ditentukan sebelumnya untuk eksekusi paket Anda di Azure-SSIS IR.
  • LogPath: Masukkan jalur UNC dari folder log, di mana file log dari eksekusi paket Anda di Azure-SSIS IR ditulis.
  • PackageAccessDomain: Masukkan informasi masuk domain untuk mengakses paket Anda di jalur UNC-nya yang ditentukan saat Anda menggunakan AzureDTExec.
  • PackageAccessPassword: Masukkan informasi masuk kata sandi untuk mengakses paket Anda di jalur UNC-nya yang ditentukan saat Anda menggunakan AzureDTExec.
  • PackageAccessUserName: Masukkan informasi masuk nama pengguna untuk mengakses paket Anda di jalur UNC-nya yang ditentukan saat Anda menggunakan AzureDTExec.

Untuk menyimpan paket dan file log Anda di sistem file atau berbagi file lokal, gabungkan Azure-SSIS IR Anda ke jaringan virtual yang terhubung ke jaringan lokal Anda sehingga dapat mengambil paket Anda dan menulis file log Anda. Untuk informasi selengkapnya, lihat Menggabungkan runtime integrasi Azure-SSIS dengan jaringan virtual.

Untuk menghindari memperlihatkan nilai sensitif yang ditulis ke dalam file AzureDTExec.settings dalam teks biasa, kita mengodekannya ke dalam string pengodean Base64. Saat Anda menggunakan AzureDTExec, semua string berkode Base64 akan dikodekan kembali ke nilai aslinya. Anda dapat mengamankan lebih lanjut file AzureDTExec.settings dengan membatasi akun yang dapat mengaksesnya.

Menggunakan utilitas AzureDTExec

Anda dapat menggunakan AzureDTExec pada prompt baris perintah dan memberikan nilai yang relevan untuk opsi tertentu dalam skenario kasus penggunaan Anda.

Utilitas dipasang di {SSMS Folder}\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn. Anda dapat menambahkan jalurnya ke variabel lingkungan 'JALUR' untuk digunakan dari mana saja.

> cd "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn"
> AzureDTExec.exe  ^
  /F \\MyStorageAccount.file.core.windows.net\MyFileShare\MyPackage.dtsx  ^
  /Conf \\MyStorageAccount.file.core.windows.net\MyFileShare\MyConfig.dtsConfig  ^
  /Conn "MyConnectionManager;Data Source=MyDatabaseServer.database.windows.net;User ID=MyAdminUsername;Password=MyAdminPassword;Initial Catalog=MyDatabase"  ^
  /Set \package.variables[MyVariable].Value;MyValue  ^
  /De MyEncryptionPassword

Menggunakan AzureDTExec menawarkan opsi yang sama seperti menggunakan dtexec. Untuk informasi selengkapnya, lihat Utilitas dtexec. Berikut adalah opsi yang saat ini didukung:

  • /F[ile]: Memuat paket yang disimpan dalam sistem file, berbagi file, atau Azure Files. Sebagai nilai untuk opsi ini, Anda dapat menentukan jalur UNC untuk file paket Anda dalam sistem file, berbagi file, atau Azure Files dengan ekstensi .dtsx-nya. Jika jalur UNC yang ditentukan berisi spasi apa pun, letakkan tanda kutip di seluruh jalur.
  • /Conf[igFile]: Menentukan file konfigurasi untuk mengekstrak nilai dari. Dengan menggunakan opsi ini, Anda dapat mengatur konfigurasi run-time untuk paket Anda yang berbeda dari yang ditentukan pada waktu desain. Anda dapat menyimpan pengaturan yang berbeda dalam file konfigurasi XML lalu memuatnya sebelum eksekusi paket Anda. Untuk informasi selengkapnya, lihat konfigurasi paket SSIS. Untuk menentukan nilai untuk opsi ini, gunakan jalur UNC untuk file konfigurasi Anda dalam sistem file, berbagi file, atau Azure Files dengan ekstensi dtsConfig-nya. Jika jalur UNC yang ditentukan berisi spasi apa pun, letakkan tanda kutip di seluruh jalur.
  • /Conn[ection]: Menentukan string koneksi untuk pengelola koneksi yang ada dalam paket Anda. Dengan menggunakan opsi ini, Anda dapat mengatur string koneksi run-time untuk pengelola koneksi yang ada dalam paket Anda yang berbeda dari yang ditentukan pada waktu desain. Tentukan nilai untuk opsi ini sebagai berikut: connection_manager_name_or_id;connection_string [[;connection_manager_name_or_id;connection_string]...].
  • /Set: Mengganti konfigurasi parameter, variabel, properti, kontainer, penyedia log, enumerator Foreach, atau koneksi dalam paket Anda. Opsi ini dapat ditentukan beberapa kali. Tentukan nilai untuk opsi ini sebagai berikut: property_path;value. Misalnya, \package.variables[counter].Value;1 mengganti nilai variabel counter sebagai 1. Anda dapat menggunakan wizard Konfigurasi Paket untuk menemukan, menyalin, dan menempelkan nilai property_path untuk item dalam paket Anda yang nilainya ingin Anda ganti. Untuk informasi selengkapnya, lihat Wizard Konfigurasi Paket.
  • /De[crypt]: Mengatur kata sandi dekripsi untuk paket Anda yang dikonfigurasi dengan tingkat perlindungan EncryptAllWithPassword/EncryptSensitiveWithPassword.

Catatan

Menggunkan AzureDTExec dengan nilai baru untuk opsinya menghasilkan alur baru kecuali untuk opsi /De[cript].

Setelah alur unik dengan aktivitas Jalankan Paket SSIS di dalamnya dihasilkan dan dijalankan saat Anda menggunakan AzureDTExec, alur unik tersebut dapat dipantau di portal Data Factory. Anda juga dapat menetapkan pemicu Data Factory jika Anda ingin mengatur/menjadwalkannya menggunakan Data Factory. Untuk informasi selengkapnya, lihat Menjalankan paket SSIS sebagai aktivitas Data Factory.

Peringatan

Alur yang dihasilkan diharapkan hanya akan digunakan oleh AzureDTExec. Properti atau parameternya mungkin berubah di masa mendatang, jadi jangan memodifikasi atau menggunakannya kembali untuk tujuan lain. Modifikasi mungkin merusak AzureDTExec. Jika ini terjadi, hapus alurnya. AzureDTExec menghasilkan alur baru saat berikutnya digunakan.