Bagikan melalui


Batasan Prioritas

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Batasan prioritas menautkan executable, kontainer, dan tugas dalam paket dalam alur kontrol, dan menentukan kondisi yang menentukan apakah executable berjalan. Executable dapat berupa kontainer For Loop, Foreach Loop, atau Sequence; tugas; atau penanganan aktivitas. Penanganan aktivitas juga menggunakan batasan prioritas untuk menautkan executable mereka ke dalam alur kontrol.

Batasan prioritas menautkan dua executable: prioritas yang dapat dieksekusi dan yang dapat dieksekusi yang dibatasi. Eksekusi prioritas berjalan sebelum executable yang dibatasi, dan hasil eksekusi dari yang dapat dieksekusi sebelumnya dapat menentukan apakah eksekusi yang dibatasi dapat dijalankan. Diagram berikut menunjukkan dua executable yang ditautkan oleh batasan prioritas.

Executable yang disambungkan oleh batasan prioritas

Dalam alur kontrol linier, yaitu, satu tanpa percabangan, batasan prioritas saja mengatur urutan di mana tugas berjalan. Jika alur kontrol bercabang, mesin run-time Integration Services menentukan urutan eksekusi di antara tugas dan kontainer yang segera mengikuti percabangan. Mesin run-time juga menentukan urutan eksekusi di antara alur kerja yang tidak terhubung dalam alur kontrol.

Arsitektur kontainer berlapis Dari Layanan Integrasi memungkinkan semua kontainer, kecuali untuk kontainer host tugas yang hanya merangkum satu tugas, untuk menyertakan kontainer lain, masing-masing dengan alur kontrolnya sendiri. Kontainer For Loop, Foreach Loop, dan Sequence dapat menyertakan beberapa tugas dan kontainer lainnya, yang pada gilirannya dapat mencakup beberapa tugas dan kontainer. Misalnya, paket dengan tugas Skrip dan kontainer Urutan memiliki batasan prioritas yang menautkan tugas Skrip dan kontainer Urutan. Kontainer Urutan mencakup tiga tugas Skrip, dan batasan prioritasnya menautkan tiga tugas Skrip ke dalam alur kontrol. Diagram berikut menunjukkan batasan prioritas dalam paket dengan dua tingkat bersarang.

Kontras prioritas dalam paket

Karena paket berada di bagian atas hierarki kontainer SSIS, beberapa paket tidak dapat ditautkan oleh batasan prioritas; namun, Anda dapat menambahkan tugas Jalankan Paket ke paket dan secara tidak langsung menautkan paket lain ke dalam alur kontrol.

Anda dapat mengonfigurasi batasan prioritas dengan cara berikut:

  • Tentukan operasi evaluasi. Batasan prioritas menggunakan nilai batasan, ekspresi, keduanya, atau untuk menentukan apakah eksekusi yang dibatasi dapat dijalankan.

  • Jika batasan prioritas menggunakan hasil eksekusi, Anda dapat menentukan hasil eksekusi menjadi keberhasilan, kegagalan, atau penyelesaian.

  • Jika batasan prioritas menggunakan hasil evaluasi, Anda dapat memberikan ekspresi yang mengevaluasi ke Boolean.

  • Tentukan apakah batasan prioritas dievaluasi secara senyap atau bersama dengan batasan lain yang berlaku untuk executable yang dibatasi.

Operasi Evaluasi

Integration Services menyediakan operasi evaluasi berikut:

  • Batasan yang hanya menggunakan hasil eksekusi dari yang dapat dieksekusi sebelumnya untuk menentukan apakah eksekusi yang dibatasi berjalan. Hasil eksekusi dari prioritas yang dapat dieksekusi dapat berupa penyelesaian, keberhasilan, atau kegagalan. Ini adalah operasi default.

  • Ekspresi yang dievaluasi untuk menentukan apakah eksekusi yang dapat dieksekusi yang dibatasi berjalan. Jika ekspresi mengevaluasi ke true, executable yang dibatasi berjalan.

  • Ekspresi dan batasan yang menggabungkan persyaratan hasil eksekusi dari precedence executable dan hasil pengembalian mengevaluasi ekspresi.

  • Ekspresi atau batasan yang menggunakan hasil eksekusi dari prioritas yang dapat dieksekusi atau hasil pengembalian mengevaluasi ekspresi.

SSIS Designer menggunakan warna untuk mengidentifikasi jenis batasan prioritas. Batasan Keberhasilan berwarna hijau, batasan Kegagalan berwarna merah, dan batasan Penyelesaian berwarna biru. Untuk menampilkan label teks di perancang SSIS yang memperlihatkan jenis batasan, Anda harus mengonfigurasi fitur aksesibilitas SSIS Designer.

Ekspresi harus berupa ekspresi SSIS yang valid, dan dapat mencakup fungsi, operator, dan variabel sistem dan kustom. Untuk informasi selengkapnya, lihat Ekspresi Integration Services (SSIS) dan Variabel Integration Services (SSIS).

Hasil Eksekusi

Batasan prioritas dapat menggunakan hasil eksekusi berikut sendiri atau dalam kombinasi dengan ekspresi.

  • Penyelesaian hanya mengharuskan executable prioritas telah selesai, tanpa memperhatikan hasil, agar executable yang dibatasi dapat dijalankan.

  • Keberhasilan mengharuskan executable prioritas harus berhasil diselesaikan agar executable yang dibatasi berjalan.

  • Kegagalan mengharuskan eksekusi yang diutamakan gagal untuk menjalankan executable yang dibatasi.

Catatan

Hanya batasan prioritas yang merupakan anggota dari koleksi Batasan Prioritas yang sama yang dapat dikelompokkan dalam kondisi AND logis. Misalnya, Anda tidak dapat menggabungkan batasan prioritas dari dua kontainer Foreach Loop.

Mengatur properti batasan prioritas dengan Editor Batasan Prioritas

  1. Di SQL Server Data Tools (SSDT), buka proyek Integration Services yang berisi paket yang Anda inginkan.

  2. Di Penjelajah Solusi, klik dua kali paket untuk membukanya.

  3. Klik tab Alur Kontrol.

  4. Klik dua kali batasan prioritas.

    Editor Batasan Prioritas terbuka.

  5. Di daftar drop-down Operasi evaluasi, pilih operasi evaluasi.

  6. Di daftar drop-down Nilai, pilih hasil eksekusi yang dapat dieksekusi sebelumnya.

  7. Jika operasi evaluasi menggunakan ekspresi, dalam kotak Ekspresi , ketik ekspresi, dan klik Uji untuk mengevaluasi ekspresi.

    Catatan

    Nama variabel peka huruf besar/kecil.

  8. Jika beberapa tugas atau kontainer tersambung ke executable yang dibatasi, pilih Logis AND untuk menentukan bahwa hasil eksekusi semua executable sebelumnya harus dievaluasi ke true. Pilih Logis ATAU untuk menentukan bahwa hanya satu hasil eksekusi yang harus dievaluasi ke true.

  9. Klik OK untuk menutup Editor Batasan Prioritas.

  10. Untuk menyimpan paket yang diperbarui, klik Simpan Item Terpilih pada menu File .

Editor Batasan Prioritas

Gunakan kotak dialog Editor Batasan Prioritas untuk mengonfigurasi batasan prioritas.

Opsi

Operasi evaluasi
Tentukan operasi evaluasi yang digunakan batasan prioritas. Operasinya adalah: Batasan, Ekspresi, Ekspresi dan Batasan, dan Ekspresi atau Batasan.

Nilai
Tentukan nilai batasan: Keberhasilan, Kegagalan, atau Penyelesaian.

Catatan

Garis batasan prioritas berwarna hijau untuk Keberhasilan, disorot untuk Kegagalan, dan biru untuk Penyelesaian.

Expression
Jika menggunakan operasi Ekspresi, Ekspresi dan Batasan, atau Ekspresi atau Batasan, ketik ekspresi atau luncurkan Penyusun Ekspresi untuk membuat ekspresi. Ekspresi harus dievaluasi ke Boolean.

Ujian
Validasi ekspresi.

LOGIS AND
Pilih untuk menentukan bahwa beberapa batasan prioritas pada executable yang sama harus dievaluasi bersama-sama. Semua batasan harus dievaluasi ke True.

Catatan

Jenis batasan prioritas ini muncul sebagai garis hijau solid, disorot, atau biru.

LOGIS ATAU
Pilih untuk menentukan bahwa beberapa batasan prioritas pada executable yang sama harus dievaluasi bersama-sama. Setidaknya satu batasan harus dievaluasi ke True.

Catatan

Jenis batasan prioritas ini muncul sebagai garis hijau putus-putus, disorot, atau biru.

Mengatur properti batasan prioritas di jendela Properti

  1. Di SQL Server Data Tools (SSDT), buka proyek Integration Services yang berisi paket yang ingin Anda ubah.

  2. Di Penjelajah Solusi, klik dua kali paket untuk membukanya.

  3. Klik tab Alur Kontrol. Pada permukaan desain tab Alur Kontrol, klik kanan batasan prioritas, lalu klik Properti. Di jendela Properti, ubah nilai properti.

  4. Di jendela Properti , atur properti baca/tulis berikut dari batasan prioritas:

    Properti baca/tulis Tindakan konfigurasi
    Deskripsi Berikan deskripsi.
    EvalOp Pilih operasi evaluasi. Jika operasi Ekspresi, ExpressionAndConstant, atau ExpressionOrConstant dipilih, Anda dapat menentukan ekspresi.
    Ekspresi Jika operasi evaluasi menyertakan dan ekspresi, berikan ekspresi. Ekspresi harus dievaluasi ke Boolean. Untuk informasi selengkapnya tentang bahasa ekspresi, lihat Ekspresi Integration Services (SSIS).
    LogicalAnd Atur LogicalAnd untuk menentukan apakah batasan prioritas dievaluasi dalam konser dengan batasan prioritas lainnya, ketika beberapa executable mendahului dan ditautkan ke executable yang dibatasi
    Nama Perbarui nama batasan prioritas.
    ShowAnnotation Tentukan jenis anotasi yang akan digunakan. Pilih Jangan Pernah menonaktifkan anotasi, AsNeeded untuk mengaktifkan anotasi sesuai permintaan, ConstraintName untuk secara otomatis membuat anotasi menggunakan nilai properti Nama, ConstraintDescription untuk secara otomatis membuat anotasi menggunakan nilai properti Deskripsi, dan ConstraintOptions untuk secara otomatis membuat anotasi menggunakan nilai properti Nilai dan Ekspresi.
    Nilai Jika operasi evaluasi yang ditentukan dalam properti EvalOP menyertakan batasan, pilih hasil eksekusi dari batasan yang dapat dieksekusi.
  5. Tutup jendela Properti.

  6. Untuk menyimpan paket yang diperbarui, klik Simpan Item Terpilih pada menu File .

Mengatur nilai batasan prioritas dengan menu pintasan

  1. Di SQL Server Data Tools (SSDT), buka proyek Integration Services yang berisi paket yang Anda inginkan.

  2. Di Penjelajah Solusi, klik dua kali paket untuk membukanya.

  3. Klik tab Alur Kontrol.

  4. Pada permukaan desain tab Alur Kontrol, klik kanan batasan prioritas, lalu klik Keberhasilan, Kegagalan, atau Penyelesaian.

  5. Untuk menyimpan paket yang diperbarui, klik Simpan Item Terpilih pada menu File .

Menambahkan ekspresi ke batasan prioritas

Batasan prioritas dapat menggunakan ekspresi untuk menentukan batasan antara dua executable: prioritas yang dapat dieksekusi dan executable yang dibatasi. Executable dapat berupa tugas atau kontainer. Ekspresi dapat digunakan sendiri atau dalam kombinasi dengan hasil eksekusi dari prioritas yang dapat dieksekusi. Hasil eksekusi dari executable adalah keberhasilan atau kegagalan. Saat mengonfigurasi hasil eksekusi dari batasan prioritas, Anda dapat mengatur hasil eksekusi ke Keberhasilan, Kegagalan, atau Penyelesaian. Berhasil mengharuskan eksekusi yang diutamakan berhasil, Kegagalan mengharuskan tugas prioritas yang dapat dieksekusi gagal, dan Penyelesaian menunjukkan bahwa executable yang dibatasi harus berjalan terlepas dari apakah tugas prioritas berhasil atau gagal. Untuk informasi selengkapnya, lihat Batasan Prioritas.

Ekspresi harus mengevaluasi ke True atau False dan harus berupa ekspresi Integration Services yang valid. Ekspresi dapat menggunakan literal, sistem, dan variabel kustom, serta fungsi dan operator yang disediakan tata bahasa ekspresi SSIS. Misalnya, ekspresi @Count == SQRT(144) + 10 menggunakan variabel Count, fungsi SQRT , dan operator sama dengan (==) dan tambahkan (+). Untuk informasi selengkapnya, lihat Ekspresi Integration Services (SSIS).

Dalam ilustrasi berikut, tugas A dan tugas B ditautkan oleh batasan prioritas yang menggunakan hasil eksekusi dan ekspresi. Nilai batasan diatur ke Berhasil dan ekspresinya adalah @X >== @Z. Tugas B, tugas yang dibatasi, hanya berjalan jika tugas A berhasil diselesaikan dan nilai variabel X lebih besar dari atau sama dengan nilai variabel Z.

Batasan prioritas antara dua tugas

Executable juga dapat ditautkan dengan menggunakan beberapa batasan prioritas yang berisi ekspresi yang berbeda. Misalnya, dalam ilustrasi berikut, tugas B dan C ditautkan ke tugas A berdasarkan batasan prioritas yang menggunakan hasil dan ekspresi eksekusi. Kedua nilai batasan diatur ke Berhasil. Satu batasan prioritas mencakup ekspresi @X >== @Z, dan batasan prioritas lainnya mencakup ekspresi @X < @Z. Bergantung pada nilai variabel X dan variabel Z, tugas C atau tugas B berjalan.

Ekspresi pada batasan prioritas

Anda dapat menambahkan atau mengubah ekspresi dengan menggunakan Editor Batasan Prioritas di Perancang SSIS dan jendela Properti yang disediakan SQL Server Data Tools (SSDT). Namun, jendela Properti tidak menyediakan verifikasi sintaks ekspresi.

Jika batasan prioritas menyertakan ekspresi, ikon muncul di permukaan desain tab Alur Kontrol, di samping batasan prioritas, dan TipsAlat pada ikon menampilkan ekspresi.

Menambahkan ekspresi ke batasan prioritas

  1. Di SQL Server Data Tools (SSDT), buka proyek Integration Services yang berisi paket yang Anda inginkan.

  2. Di Penjelajah Solusi, klik dua kali paket untuk membukanya.

  3. Klik tab Alur Kontrol.

  4. Pada permukaan desain tab Alur Kontrol, klik dua kali batasan prioritas. Editor Batasan Prioritas terbuka.

  5. Pilih Ekspresi, Ekspresi dan Batasan, atau Ekspresi atau Batasan dalam daftar operasi Evaluasi.

  6. Ketik ekspresi dalam kotak teks Ekspresi atau luncurkan Penyusun Ekspresi untuk membuat ekspresi.

  7. Untuk memvalidasi sintaks ekspresi, klik Uji.

  8. Untuk menyimpan paket yang diperbarui, klik Simpan Item Terpilih pada menu File .

Menggabungkan nilai dan ekspresi eksekusi

Tabel berikut ini menjelaskan efek menggabungkan batasan nilai eksekusi dan ekspresi dalam batasan prioritas.

Operasi evaluasi Batasan mengevaluasi ke Ekspresi mengevaluasi ke Eksekusi yang dapat dibatasi
Batasan Benar T/A Benar
Batasan Salah T/A Salah
Ekspresi T/A Benar Benar
Ekspresi T/A Salah Salah
Batasan dan Ekspresi Benar Benar Benar
Batasan dan Ekspresi Benar Salah Salah
Batasan dan Ekspresi Salah Benar Salah
Batasan dan Ekspresi Salah Salah Salah
Batasan atau Ekspresi Benar Benar Benar
Batasan atau Ekspresi Benar Salah Benar
Batasan atau Ekspresi Salah Benar Benar
Batasan atau Ekspresi Salah Salah Salah

Skenario batasan kompleks dengan beberapa batasan prioritas

Batasan prioritas menghubungkan dua executable: dua tugas, dua kontainer, atau satu dari masing-masing. Mereka dikenal sebagai executable prioritas dan yang dibatasi yang dapat dieksekusi. Executable yang dibatasi dapat memiliki beberapa batasan prioritas. Untuk informasi selengkapnya, lihat Batasan Prioritas.

Merakit skenario batasan kompleks dengan mengelompokkan batasan memungkinkan Anda menerapkan alur kontrol yang kompleks dalam paket. Misalnya, dalam ilustrasi berikut, Tugas D ditautkan ke Tugas A oleh batasan Keberhasilan , Tugas D ditautkan ke Tugas B oleh batasan Kegagalan , dan Tugas D ditautkan ke Tugas C dengan batasan Keberhasilan . Batasan prioritas antara Tugas D dan Tugas A, antara Tugas D dan Tugas B, dan antara Tugas D dan Tugas C berpartisipasi dalam logis dan hubungan. Oleh karena itu, agar Tugas D berjalan, Tugas A harus berjalan dengan sukses, Tugas B harus gagal, dan Tugas C harus berjalan dengan sukses.

Tugas yang ditautkan berdasarkan batasan prioritas

Properti LogicalAnd

Jika tugas atau kontainer memiliki beberapa batasan, properti LogicalAnd menentukan apakah batasan prioritas dievaluasi secara senyap atau dalam konser dengan batasan lain.

Anda dapat mengatur properti LogicalAnd menggunakan Editor Batasan Prioritas di Perancang SSIS, atau di jendela Properti yang disediakan SQL Server Data Tools (SSDT).

Atur nilai default untuk batasan prioritas

Ketika Anda pertama kali menggunakan SSIS Designer, nilai default batasan prioritas adalah Berhasil. Ikuti langkah-langkah ini untuk mengonfigurasi SSIS Designer untuk menggunakan nilai default yang berbeda untuk batasan prioritas.

  1. Buka SQL Server Data Tools (SSDT).

  2. Pada menu Alat, pilih Opsi.

  3. Dalam kotak dialog Opsi , perluas Perancang Kecerdasan Bisnis, lalu perluas Desainer Layanan Integrasi.

  4. Klik Sambungkan Otomatis Alur Kontrol dan pilih Sambungkan bentuk baru ke bentuk yang dipilih secara default.

  5. Di daftar drop-down, pilih Gunakan batasan Kegagalan untuk bentuk baru atau Gunakan batasan Penyelesaian untuk bentuk baru.

  6. Klik OK.

Membuat batasan prioritas default

  1. Di SQL Server Data Tools (SSDT), buka proyek Integration Services yang berisi paket yang Anda inginkan.

  2. Di Penjelajah Solusi, klik dua kali paket untuk membukanya.

  3. Klik tab Alur Kontrol.

  4. Pada permukaan desain tab Alur Kontrol, klik tugas atau kontainer dan seret konektornya ke executable yang Anda inginkan agar batasan prioritas diterapkan.

  5. Untuk menyimpan paket yang diperbarui, klik Simpan Item Terpilih pada menu File .