Alat Pemecahan Masalah untuk Eksekusi Paket

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

Layanan Integrasi mencakup fitur dan alat yang dapat Anda gunakan untuk memecahkan masalah paket saat Anda menjalankannya setelah selesai dan disebarkan.

Pada waktu desain, SQL Server Data Tools (SSDT) menyediakan titik henti untuk menjeda eksekusi paket, jendela Kemajuan, dan penampil data untuk menonton data Anda saat melewati aliran data. Namun, fitur-fitur ini tidak tersedia saat Anda menjalankan paket yang telah disebarkan. Teknik utama untuk memecahkan masalah paket yang disebarkan adalah sebagai berikut:

  • Menangkap dan menangani kesalahan paket dengan menggunakan penanganan aktivitas.

  • Ambil data buruk dengan menggunakan output kesalahan.

  • Lacak langkah-langkah eksekusi paket dengan menggunakan pengelogan.

Anda juga dapat menggunakan tips dan teknik berikut untuk menghindari masalah dengan paket yang sedang berjalan

Menangkap dan Menangani Kesalahan Paket dengan Menggunakan Penanganan Aktivitas

Anda dapat menanggapi banyak peristiwa yang dinaikkan oleh paket dan objek dalam paket dengan menggunakan penanganan aktivitas.

  • Buat penanganan aktivitas untuk peristiwa OnError. Di penanganan aktivitas, Anda dapat menggunakan tugas Kirim Email untuk memberi tahu administrator tentang kegagalan, menggunakan tugas Skrip dan logika kustom untuk mendapatkan informasi sistem untuk pemecahan masalah, atau membersihkan sumber daya sementara atau output yang tidak lengkap. Untuk informasi selengkapnya, lihat Penanganan Aktivitas Integration Services (SSIS).

Memecahkan Masalah Data Buruk dengan Menggunakan Output Kesalahan

Anda dapat menggunakan output kesalahan yang tersedia pada banyak komponen aliran data untuk mengarahkan baris yang berisi kesalahan ke tujuan terpisah untuk analisis nanti. Untuk informasi selengkapnya, lihat Penanganan Kesalahan dalam Data.

  • Ambil data buruk dengan menggunakan output kesalahan. Kirim baris yang berisi kesalahan ke tujuan terpisah seperti tabel kesalahan atau file teks. Output kesalahan secara otomatis menambahkan dua kolom numerik yang berisi jumlah kesalahan yang menyebabkan baris ditolak, dan ID kolom tempat kesalahan terjadi.

  • Tambahkan informasi yang ramah ke output kesalahan. Anda dapat mempermudah analisis output kesalahan dengan menambahkan pesan kesalahan dan nama kolom selain dua pengidentifikasi numerik yang disediakan oleh output kesalahan. Untuk contoh cara menambahkan dua kolom tambahan ini dengan menggunakan pembuatan skrip, lihat Meningkatkan Output Kesalahan dengan Komponen Skrip.

  • Atau, dapatkan nama kolom dengan mencatat peristiwa DiagnosticEx. Kejadian ini menulis peta silsilah aliran data ke log. Anda kemudian dapat mencari nama kolom di peta silsilah ini dengan menggunakan pengidentifikasi kolom yang diambil oleh output kesalahan. Untuk informasi selengkapnya, lihat Penanganan Kesalahan dalam Data.

    Nilai kolom pesan untuk DiagnosticEx adalah teks XML. Untuk menampilkan teks pesan untuk eksekusi paket, kueri tampilan catalog.operation_messages (Database SSISDB). Perhatikan bahwa peristiwa DiagnosticEx tidak mempertahankan spasi kosong dalam output XML-nya untuk mengurangi ukuran log. Untuk meningkatkan keterbacaan, salin log ke editor XML - di Visual Studio, misalnya - yang mendukung pemformatan XML dan penyorotan sintaksis.

Memecahkan Masalah Eksekusi Paket dengan Menggunakan Laporan Operasi

Laporan operasi standar tersedia di SQL Server Management Studio untuk membantu Anda memantau paket Layanan Integrasi yang telah disebarkan ke katalog Layanan Integrasi. Laporan paket ini membantu Anda melihat status dan riwayat paket, dan, jika perlu, mengidentifikasi penyebab kegagalan.

Untuk informasi selengkapnya, lihat Laporan Pemecahan Masalah untuk Eksekusi Paket.

Memecahkan Masalah Eksekusi Paket dengan Menggunakan Tampilan SSISDB

Sejumlah tampilan database SSISDB tersedia yang dapat Anda kueri untuk memantau eksekusi paket dan informasi operasi lainnya. Untuk informasi selengkapnya, lihat Memantau Paket yang Berjalan dan Operasi Lainnya.

Memecahkan Masalah Eksekusi Paket dengan Menggunakan Pengelogan

Anda dapat melacak banyak hal yang terjadi dalam paket yang sedang berjalan dengan mengaktifkan pengelogan. Penyedia log mengambil informasi tentang peristiwa yang ditentukan untuk analisis nanti, dan menyimpan informasi tersebut dalam tabel database, file datar, file XML, atau format output lain yang didukung.

  • Aktifkan pengelogan. Anda dapat memperbaiki output pengelogan dengan hanya memilih peristiwa dan hanya item informasi yang ingin Anda ambil. Untuk informasi selengkapnya, lihat Pengelogan Integration Services (SSIS).

  • Pilih peristiwa Diagnostik paket untuk memecahkan masalah penyedia. Ada pesan pengelogan yang membantu Anda memecahkan masalah interaksi paket dengan sumber data eksternal. Untuk informasi selengkapnya, lihat Pemecahan Masalah Konektivitas Paket Alat.

  • Tingkatkan output pengelogan default. Pengelogan biasanya menambahkan baris ke tujuan pengelogan setiap kali paket dijalankan. Meskipun setiap baris output pengelogan mengidentifikasi paket dengan nama dan pengidentifikasi uniknya, dan juga mengidentifikasi eksekusi paket dengan ExecutionID yang unik, sejumlah besar output pengelogan dalam satu daftar dapat menjadi sulit dianalisis.

    Pendekatan berikut adalah salah satu saran untuk meningkatkan output pengelogan default dan membuatnya lebih mudah untuk menghasilkan laporan:

    1. Buat tabel induk yang mencatat setiap eksekusi paket. Tabel induk ini hanya memiliki satu baris untuk setiap eksekusi paket, dan menggunakan ExecutionID untuk menautkan ke rekaman anak dalam tabel pengelogan Integration Services. Anda dapat menggunakan tugas Jalankan SQL di awal setiap paket untuk membuat baris baru ini dan untuk merekam waktu mulai. Kemudian Anda dapat menggunakan tugas Jalankan SQL lain di akhir paket untuk memperbarui baris dengan waktu akhir, durasi, dan status.

    2. Tambahkan informasi audit ke aliran data. Anda dapat menggunakan transformasi Audit untuk menambahkan informasi ke baris dalam aliran data tentang eksekusi paket yang membuat atau memodifikasi setiap baris. Transformasi Audit membuat sembilan informasi tersedia, termasuk PackageName dan ExecutionInstanceGUID. Untuk informasi selengkapnya, lihat Transformasi Audit. Jika Anda memiliki informasi kustom yang juga ingin Anda sertakan di setiap baris untuk tujuan audit, Anda dapat menambahkan informasi ini ke baris dalam aliran data dengan menggunakan transformasi Kolom Turunan. Untuk informasi selengkapnya, lihat Transformasi Kolom Turunan.

    3. Pertimbangkan untuk menangkap data jumlah baris. Pertimbangkan untuk membuat tabel terpisah untuk informasi jumlah baris, di mana setiap instans eksekusi paket diidentifikasi oleh ExecutionID-nya. Gunakan transformasi Jumlah Baris untuk menyimpan jumlah baris ke dalam serangkaian variabel pada titik penting dalam aliran data. Setelah aliran data berakhir, gunakan tugas Jalankan SQL untuk menyisipkan rangkaian nilai ke dalam baris dalam tabel untuk analisis dan pelaporan nanti.

    Untuk informasi selengkapnya tentang pendekatan ini, lihat bagian, "Audit dan Pengelogan ETL," di laporan resmi Microsoft, Project REAL: Praktik Desain ETL Kecerdasan Bisnis.

Memecahkan Masalah Eksekusi Paket dengan Menggunakan File Dump Debug

Di Integration Services, Anda dapat membuat file dump debug yang memberikan informasi tentang eksekusi paket. Untuk informasi selengkapnya, lihat Membuat File Cadangan untuk Eksekusi Paket.

Memecahkan Masalah Validasi Run-time

Terkadang Anda mungkin tidak dapat tersambung ke sumber data Anda, atau bagian paket Anda tidak dapat divalidasi, sampai tugas sebelumnya dalam paket telah dijalankan. Integration Services mencakup fitur berikut untuk membantu Anda menghindari kesalahan validasi yang akan diakibatkan oleh kondisi ini:

  • Konfigurasikan properti DelayValidation pada elemen paket yang tidak valid saat paket dimuat. Anda dapat mengatur DelayValidation ke True pada elemen paket yang konfigurasinya tidak valid, untuk mencegah kesalahan validasi saat paket dimuat. Misalnya, Anda mungkin memiliki tugas Aliran Data yang menggunakan tabel tujuan yang tidak ada hingga tugas Jalankan SQL membuat tabel pada durasi. Properti DelayValidation dapat diaktifkan di tingkat paket, atau pada tingkat tugas dan kontainer individual yang disertakan paket.

    Properti DelayValidation dapat diatur pada tugas Aliran Data, tetapi tidak pada komponen aliran data individual. Anda dapat mencapai efek serupa dengan mengatur ValidateExternalMetadata properti komponen aliran data individual ke false. Namun, ketika nilai properti ini salah, komponen tidak mengetahui perubahan pada metadata sumber data eksternal. Ketika diatur ke true, ValidateExternalMetadata properti dapat membantu menghindari masalah pemblokiran yang disebabkan oleh penguncian dalam database, terutama ketika paket menggunakan transaksi.

Memecahkan Masalah Izin Run-time

Jika Anda mengalami kesalahan saat mencoba menjalankan paket yang disebarkan dengan menggunakan SQL Server Agent, akun yang digunakan oleh Agen mungkin tidak memiliki izin yang diperlukan. Untuk informasi tentang cara memecahkan masalah paket yang dijalankan dari pekerjaan SQL Server Agent, lihat Paket SSIS tidak berjalan saat Anda memanggil paket SSIS dari langkah pekerjaan SQL Server Agent. Untuk informasi selengkapnya tentang cara menjalankan paket dari pekerjaan SQL Server Agent, lihat SQL Server Agent Pekerjaan untuk Paket.

Untuk menyambungkan ke sumber data Excel atau Access, SQL Server Agent memerlukan akun yang memiliki izin untuk membaca, menulis, membuat, dan menghapus file sementara dalam folder yang ditentukan oleh variabel lingkungan TEMP dan TMP.

Memecahkan Masalah 64-bit

  • Beberapa penyedia data tidak tersedia di platform 64-bit. Secara khusus, Penyedia Microsoft Jet OLE DB yang diperlukan untuk menyambungkan ke sumber data Excel atau Access tidak tersedia dalam versi 64-bit.

Memecahkan Masalah Kesalahan tanpa Deskripsi

Jika Anda mengalami kesalahan Layanan Integrasi yang tidak memiliki deskripsi yang menyertainya, Anda dapat menemukan deskripsi di Kesalahan Layanan Integrasi dan Referensi Pesan dengan mencari kesalahan berdasarkan nomornya. Daftar ini tidak menyertakan informasi pemecahan masalah saat ini.

Aliran Data Penelusuran Kesalahan