{heroes}... i wish, i was

July 2008 - Posts

  • Bekerja dengan Checkpoint di SSIS

    Download Contoh Checkpoint 2005 | Download Contoh Checkpoint 2008

    Checkpoint digunakan sebagai penanda task yang terdapat didalam sebuah package. Pada saat package dieksekusi informasi mengenai task yang sedang dieksekusi ditulis ke dalam sebuah file. Apabila task tersebut gagal, ketika package dieksekusi ulang package akan mulai menjalankan task yang gagal tadi dan tidak mengeksekusi package dari awal. Setelah seluruh task yang terdapat di package berhasil dieksekusi, file checkpoint akan dihapus.

    Satuan terkecil yang dapat dipasangi checkpoint adalah task yang terdapat di control flow (contoh: Execute SQL Task, FTP Task, For Loop Container). Checkpoint tidak dapat dipasang pada task yang terdapat di dalam dataflow. File checkpoint berisi informasi mengenai task-task yang berhasil dieksekusi, nilai system variable dan user variable, dan konfigurasi package. File ini juga berisi unique identifier package. Pada saat eksekusi ulang sebuah package, package identifier yang terdapat di file checkpoint dan di package harus sama; jika tidak eksekusi ulang akan gagal.

    Melakukan Pengaturan Package

    • Buka package yang akan dipasangi checkpoint
    • Pada package properties, set properti SaveCheckpoints : True, CheckpointUsage : IfExists, CheckpointFileName: Nama file Checkpoint, contoh: c:\checkpoint.xml

    Melakukan Pengaturan Task

    • Pilih task yang akan dipasangi checkpoint, set properti FailPackageOnFailure : True, FailParentOnFailure :True

    Melakukan Pengaturan Job Step

    • Buka properti job dari SQL Server Management Studio
    • Pilih Steps pada tab Select a Page
    • Pilih job step dari Job step list, lalu klik edit
    • Pada tab select a Page, pilih Advanced
    • Isi Retry Attempts sesuai dengan banyaknya pengulangan yang diinginkan apabila job step gagal, lalu klik OK

    Contoh Checkpoint

    Di dalam contoh yang dilampirkan, task 'fail' akan menge-cek apakah terdapat file 'c:\test checkpoint.txt', package akan gagal apabila file tersebut tidak ada. Pada saat package dijalankan kembali, package berhasil dieksekusi karena terdapat file 'c:\test checkpoint.txt'. Task PreExecute membuat bilangan random, variable LogID diisi bilangan random tadi. Pada eksekusi pertama, variable ini ditulis ke file 'c:\test checkpoint.txt', dan pada saat package dieksekusi kedua kali, ketika variable LogID ditulis ke file tersebut, nilainya sama dengan hasil eksekusi pertama.

    Eksekusi Pertama

    Gambar 1 - Eksekusi Pertama

    Eksekusi Kedua

    Gambar 2- Eksekusi Kedua

    Job History

    Gambar 3 - Job History

    Share this post: | | | |