Bagikan melalui


Menghidupkan Ulang Paket dengan Menggunakan Titik Pemeriksaan

Layanan Integrasi dapat memulai ulang paket yang gagal dari titik kegagalan, alih-alih menjalankan ulang seluruh paket. Jika paket dikonfigurasi untuk menggunakan titik pemeriksaan, informasi tentang eksekusi paket ditulis ke file titik pemeriksaan. Ketika paket yang gagal dijalankan ulang, file titik pemeriksaan digunakan untuk memulai ulang paket dari titik kegagalan. Jika paket berhasil dijalankan, file titik pemeriksaan dihapus, lalu dibuat ulang saat paket dijalankan lagi.

Menggunakan titik pemeriksaan dalam paket dapat memberikan manfaat berikut.

  • Hindari mengulangi pengunduhan dan pengunggahan file besar. Misalnya, paket yang mengunduh beberapa file besar dengan menggunakan tugas FTP untuk setiap unduhan dapat dimulai ulang setelah pengunduhan satu file gagal dan kemudian hanya mengunduh file tersebut.

  • Hindari mengulangi pemuatan data dalam jumlah besar. Misalnya, paket yang melakukan penyisipan massal ke dalam tabel dimensi di gudang data menggunakan tugas Sisipkan Massal yang berbeda untuk setiap dimensi dapat dimulai ulang jika penyisipan gagal untuk satu tabel dimensi, dan hanya dimensi tersebut yang akan dimuat ulang.

  • Hindari mengulangi agregasi nilai. Misalnya, paket yang menghitung banyak agregat, seperti rata-rata dan jumlah, menggunakan tugas Aliran Data terpisah untuk melakukan setiap agregasi, dapat dimulai ulang setelah komputasi agregasi gagal dan hanya agregasi yang akan dikomputasi ulang.

Jika paket dikonfigurasi untuk menggunakan titik pemeriksaan, Integration Services mengambil titik hidupkan ulang dalam file titik pemeriksaan. Jenis kontainer yang gagal dan implementasi fitur seperti transaksi memengaruhi titik hidupkan ulang yang dicatat dalam file titik pemeriksaan. Nilai variabel saat ini juga diambil dalam file titik pemeriksaan. Namun, nilai variabel yang memiliki Object jenis data tidak disimpan dalam file titik pemeriksaan.

Menentukan Titik Hidupkan Ulang

Kontainer host tugas, yang merangkum satu tugas, adalah unit kerja atom terkecil yang dapat dimulai ulang. Kontainer Foreach Loop dan kontainer yang ditransaksikan juga diperlakukan sebagai unit kerja atomik.

Jika paket dihentikan saat kontainer yang ditransaksikan berjalan, transaksi berakhir dan pekerjaan apa pun yang dilakukan oleh kontainer digulung balik. Ketika paket dimulai ulang, kontainer yang gagal dijalankan ulang. Penyelesaian kontainer turunan dari kontainer yang ditransaksikan tidak dicatat dalam file titik pemeriksaan. Oleh karena itu, ketika paket dimulai ulang, kontainer yang ditransaksikan dan kontainer turunannya berjalan lagi.

Catatan

Menggunakan titik pemeriksaan dan transaksi dalam paket yang sama dapat menyebabkan hasil yang tidak terduga. Misalnya, ketika paket gagal dan dimulai ulang dari titik pemeriksaan, paket mungkin mengulangi transaksi yang telah berhasil dilakukan.

Data titik pemeriksaan tidak disimpan untuk kontainer For Loop dan Foreach Loop. Ketika paket dimulai ulang, kontainer For Loop dan Foreach Loop dan kontainer anak dijalankan lagi. Jika kontainer turunan dalam perulangan berhasil dijalankan, kontainer tersebut tidak dicatat dalam file titik pemeriksaan, sebaliknya dijalankan ulang. Untuk informasi selengkapnya dan solusinya, lihat Titik Pemeriksaan SSIS tidak dihormati untuk item kontainer For Loop atau Foreach Loop.

Jika paket dimulai ulang, konfigurasi paket tidak dimuat ulang, sebaliknya paket menggunakan informasi konfigurasi yang ditulis ke file titik pemeriksaan. Ini memastikan bahwa paket menggunakan konfigurasi yang sama ketika dijalankan ulang saat gagal.

Paket hanya dapat dimulai ulang pada tingkat alur kontrol. Anda tidak dapat memulai ulang paket di tengah aliran data. Untuk menghindari menjalankan ulang seluruh aliran data, paket mungkin dirancang untuk menyertakan beberapa aliran data, masing-masing menggunakan tugas Aliran Data yang berbeda. Dengan cara ini paket dapat dimulai ulang, menjalankan ulang hanya satu tugas Aliran Data.

Mengonfigurasi Paket untuk Memulai Ulang

File titik pemeriksaan mencakup hasil eksekusi semua kontainer yang diselesaikan, nilai sistem saat ini dan variabel yang ditentukan pengguna, dan informasi konfigurasi paket. File ini juga menyertakan pengidentifikasi unik paket. Agar berhasil menghidupkan ulang paket, pengidentifikasi paket dalam file titik pemeriksaan dan paket harus cocok; jika tidak, hidupkan ulang gagal. Ini mencegah paket menggunakan file titik pemeriksaan yang ditulis oleh versi paket yang berbeda. Jika paket berhasil dijalankan, setelah dimulai ulang, file titik pemeriksaan dihapus.

Tabel berikut ini mencantumkan properti paket yang Anda atur untuk menerapkan titik pemeriksaan.

Properti Deskripsi
CheckpointFileName Menentukan nama file titik pemeriksaan.
Titik PemeriksaanPenggunaan Menentukan apakah titik pemeriksaan digunakan.
SaveCheckpoints Menunjukkan apakah paket menyimpan titik pemeriksaan. Properti ini harus diatur ke True untuk memulai ulang paket dari titik kegagalan.

Selain itu, Anda harus mengatur properti FailPackageOnFailure ke true untuk semua kontainer dalam paket yang ingin Anda identifikasi sebagai titik hidupkan ulang.

Anda dapat menggunakan properti ForceExecutionResult untuk menguji penggunaan titik pemeriksaan dalam paket. Dengan mengatur ForceExecutionResult dari tugas atau kontainer ke Kegagalan, Anda dapat meniru kegagalan real-time. Saat Anda menjalankan ulang paket, tugas dan kontainer yang gagal akan dijalankan ulang.

Penggunaan Titik Pemeriksaan

Properti CheckpointUsage dapat diatur ke nilai berikut:

Nilai Deskripsi
Never Menentukan bahwa file titik pemeriksaan tidak digunakan dan paket berjalan dari awal alur kerja paket.
Always Menentukan bahwa file titik pemeriksaan selalu digunakan dan bahwa paket dimulai ulang dari titik kegagalan eksekusi sebelumnya. Jika file titik pemeriksaan tidak ditemukan, paket gagal.
IfExists Menentukan bahwa file titik pemeriksaan digunakan jika ada. Jika file titik pemeriksaan ada, paket dimulai ulang dari titik kegagalan eksekusi sebelumnya; jika tidak, itu berjalan dari awal alur kerja paket.

Catatan

Opsi /CheckPointing pada dtexec setara dengan mengatur SaveCheckpoints properti paket ke True, dan CheckpointUsage properti ke Always. Untuk informasi selengkapnya, lihat Utilitas dtexec.

Mengamankan File Titik Pemeriksaan

Perlindungan tingkat paket tidak termasuk perlindungan file titik pemeriksaan dan Anda harus mengamankan file-file ini secara terpisah. Data titik pemeriksaan hanya dapat disimpan dalam sistem file dan Anda harus menggunakan daftar kontrol akses sistem operasi (ACL) untuk mengamankan lokasi atau folder tempat Anda menyimpan file. Penting untuk mengamankan file titik pemeriksaan karena berisi informasi tentang status paket, termasuk nilai variabel saat ini. Misalnya, variabel mungkin berisi kumpulan rekaman dengan banyak baris data privat seperti nomor telepon. Untuk informasi selengkapnya, lihat Akses ke File yang Digunakan oleh Paket.

Untuk mengonfigurasi properti titik pemeriksaan

Sumber Daya Eksternal

Lihat juga

SSIS