Batasan Prioritas

Berlaku untuk: Integration Runtime SSIS SQL Server 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 executable yang dibatasi. Eksekusi prioritas berjalan sebelum executable yang dibatasi, dan hasil eksekusi dari eksekusi prioritas dapat menentukan apakah eksekusi yang dibatasi berjalan. 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 mencakup 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.

Kontrain prioritas dalam kendala

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 berjalan.

  • 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 prioritas yang dapat dieksekusi untuk menentukan apakah eksekusi yang dibatasi berjalan. Hasil eksekusi yang dapat dieksekusi dapat berupa penyelesaian, keberhasilan, atau kegagalan. Ini adalah operasi default.

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

  • Ekspresi dan batasan yang menggabungkan persyaratan hasil eksekusi dari prioritas yang dapat dieksekusi dan hasil pengembalian mengevaluasi ekspresi.

  • Ekspresi atau batasan yang menggunakan hasil eksekusi prioritas yang dapat dieksekusi atau hasil kembali 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 dikompilasi dengan ekspresi.

  • Penyelesaian hanya mengharuskan executable yang diutamakan 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 executable 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 dari prioritas yang dapat dieksekusi.

  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 dari semua executable sebelumnya harus dievaluasi ke true. Pilih Logika 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.

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

Uji
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.

Logika 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 ekspresi dan , berikan ekspresi. Ekspresi harus mengevaluasi ke Boolean. Untuk informasi selengkapnya tentang bahasa ekspresi, lihat Ekspresi Integration Services (SSIS).
    LogicalAnd Atur LogicalAnd untuk menentukan apakah batasan prioritas dievaluasi bersama 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 membuat anotasi secara otomatis 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. Keberhasilan mengharuskan executable prioritas berhasil, Kegagalan mengharuskan eksekusi prioritas 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 variabel literal, sistem, dan 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 dengan 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, baik tugas C atau tugas B berjalan.

Ekspresi pada ekspresi 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 di 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 dieksekusi yang dibatasi
Batasan True T/A True
Batasan FALSE T/A FALSE
Ekspresi T/A True True
Ekspresi T/A FALSE FALSE
Batasan dan Ekspresi True True True
Batasan dan Ekspresi True FALSE FALSE
Batasan dan Ekspresi Salah True FALSE
Batasan dan Ekspresi FALSE FALSE FALSE
Batasan atau Ekspresi True True True
Batasan atau Ekspresi True Salah True
Batasan atau Ekspresi Salah True True
Batasan atau Ekspresi FALSE FALSE FALSE

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 executable yang dibatasi. 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 oleh batasan prioritas

Properti LogicalAnd

Jika tugas atau kontainer memiliki beberapa batasan, properti LogicalAnd menentukan apakah batasan prioritas dievaluasi secara serempak atau sesuai 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).

Mengatur nilai default untuk batasan prioritas

Saat Anda pertama kali menggunakan SSIS Designer, nilai default dari 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. Di menu Alat, klik Opsi.

  3. Dalam kotak dialog Opsi , perluas Perancang Kecerdasan Bisnis, lalu perluas Perancang 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 tempat Anda ingin menerapkan batasan prioritas.

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