Aliran Data Penelusuran Kesalahan

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

Microsoft Integration Services dan SSIS Designer menyertakan fitur dan alat yang dapat Anda gunakan untuk memecahkan masalah aliran data dalam paket Layanan Integrasi.

  • SSIS Designer menyediakan penampil data.

  • Transformasi SSIS Designer dan Integration Services menyediakan jumlah baris.

  • SSIS Designer menyediakan pelaporan kemajuan pada waktu proses.

Penampil Data

Penampil data menampilkan data di antara dua komponen dalam aliran data. Penampil data dapat menampilkan data saat data diekstrak dari sumber data dan terlebih dahulu memasukkan aliran data, sebelum dan sesudah transformasi memperbarui data, dan sebelum data dimuat ke tujuannya.

Untuk melihat data, Anda melampirkan penampil data ke jalur yang menyambungkan dua komponen aliran data. Kemampuan untuk melihat data antar komponen aliran data memudahkan untuk mengidentifikasi nilai data yang tidak terduga, melihat cara transformasi mengubah nilai kolom, dan menemukan alasan transformasi gagal. Misalnya, Anda mungkin menemukan bahwa pencarian dalam tabel referensi gagal, dan untuk memperbaikinya, Anda mungkin ingin menambahkan transformasi yang menyediakan data default untuk kolom kosong.

Penampil data dapat menampilkan data dalam kisi. Dengan menggunakan kisi, Anda memilih kolom yang akan ditampilkan. Nilai untuk kolom yang dipilih ditampilkan dalam format tabular.

Anda juga dapat menyertakan beberapa penampil data di jalur. Anda dapat menampilkan data yang sama dalam format yang berbeda-misalnya, membuat tampilan bagan dan tampilan kisi data-atau membuat penampil data yang berbeda untuk kolom data yang berbeda.

Saat Anda menambahkan penampil data ke jalur, SSIS Designer menambahkan ikon penampil data ke permukaan desain tab Aliran Data, di samping jalur. Transformasi yang dapat memiliki beberapa output, seperti transformasi Pemisahan Bersyar, dapat menyertakan penampil data di setiap jalur.

Pada waktu proses, jendela Penampil Data membuka dan menampilkan informasi yang ditentukan oleh format penampil data. Misalnya, penampil data yang menggunakan format kisi memperlihatkan data untuk kolom yang dipilih, jumlah baris output yang diteruskan ke komponen aliran data, dan jumlah baris yang ditampilkan. Informasi menampilkan buffer menurut buffer dan, tergantung pada lebar baris dalam aliran data, buffer mungkin berisi lebih banyak atau lebih sedikit baris.

Dalam kotak dialog Penampil Data, Anda bisa menyalin data ke Clipboard, menghapus semua data dari tabel, mengonfigurasi ulang penampil data, melanjutkan aliran data, dan melepaskan atau melampirkan penampil data.

Untuk menambahkan penampil data

Jumlah Baris

Jumlah baris yang telah melewati jalur ditampilkan pada permukaan desain tab Aliran Data di SSIS Designer di samping jalur. Angka diperbarui secara berkala saat data bergerak melalui jalur.

Anda juga dapat menambahkan transformasi Jumlah Baris ke aliran data untuk mengambil jumlah baris akhir dalam variabel. Untuk informasi selengkapnya, lihat Transformasi Jumlah Baris.

Pelaporan Kemajuan

Saat Anda menjalankan paket, SSIS Designer menggambarkan kemajuan pada permukaan desain tab Aliran Data dengan menampilkan setiap komponen aliran data dalam warna yang menunjukkan status. Ketika setiap komponen mulai melakukan pekerjaannya, komponen berubah dari tidak ada warna menjadi kuning, dan ketika berhasil diselesaikan, komponen tersebut berubah menjadi hijau. Warna merah menunjukkan bahwa komponen gagal.

Tabel berikut ini menjelaskan pengodean warna.

Warna Deskripsi
Tidak ada warna Menunggu untuk dipanggil oleh mesin aliran data.
Kuning Melakukan transformasi, mengekstrak data, atau memuat data.
Hijau Berhasil dijalankan.
merah Berjalan dengan kesalahan.

Analisis Aliran Data

Anda dapat menggunakan tampilan database SSISDB catalog.execution_data_statisticsuntuk menganalisis aliran data paket. Tampilan ini menampilkan baris setiap kali komponen aliran data mengirim data ke komponen hilir. Informasi dapat digunakan untuk mendapatkan pemahaman yang lebih mendalam tentang baris yang dikirim ke setiap komponen.

Catatan

Tingkat pengelogan harus diatur ke Verbose untuk mengambil informasi dengan tampilan catalog.execution_data_statistics.

Contoh berikut menampilkan jumlah baris yang dikirim di antara komponen paket.

use SSISDB  
select package_name, task_name, source_component_name, destination_component_name, rows_sent  
from catalog.execution_data_statistics  
where execution_id = 132  
order by source_component_name, destination_component_name   

Contoh berikut menghitung jumlah baris per milidetik yang dikirim oleh setiap komponen untuk eksekusi tertentu. Nilai yang dihitung adalah:

  • total_rows - jumlah semua baris yang dikirim oleh komponen

  • wall_clock_time_ms - total waktu eksekusi yang berlalu, dalam milidetik, untuk setiap komponen

  • num_rows_per_millisecond - jumlah baris per milidetik yang dikirim oleh setiap komponen

Klausa HAVING digunakan untuk mencegah kesalahan bagi-demi-nol dalam perhitungan.

use SSISDB  
select source_component_name, destination_component_name,  
    sum(rows_sent) as total_rows,  
    DATEDIFF(ms,min(created_time),max(created_time)) as wall_clock_time_ms,  
    ((0.0+sum(rows_sent)) / (datediff(ms,min(created_time),max(created_time)))) as [num_rows_per_millisecond]  
from [catalog].[execution_data_statistics]  
where execution_id = 132  
group by source_component_name, destination_component_name  
having (datediff(ms,min(created_time),max(created_time))) > 0  
order by source_component_name desc  

Mengonfigurasi Output Kesalahan dalam Komponen Aliran Data

Banyak komponen aliran data mendukung output kesalahan, dan tergantung pada komponennya, SSIS Designer menyediakan berbagai cara untuk mengonfigurasi output kesalahan. Selain mengonfigurasi output kesalahan, Anda juga dapat mengonfigurasi kolom output kesalahan. Ini termasuk mengonfigurasi kolom ErrorCode dan ErrorColumn yang ditambahkan oleh komponen.

Mengonfigurasi Output Kesalahan

Untuk mengonfigurasi output kesalahan, Anda memiliki dua opsi:

  • Gunakan kotak dialog Konfigurasi Output Kesalahan. Anda dapat menggunakan kotak dialog ini untuk mengonfigurasi output kesalahan pada komponen aliran data apa pun yang mendukung output kesalahan.

  • Gunakan kotak dialog editor untuk komponen. Beberapa komponen memungkinkan Anda mengonfigurasi output kesalahan langsung dari kotak dialog editor mereka. Namun, Anda tidak dapat mengonfigurasi output kesalahan dari kotak dialog editor untuk sumber ADO NET, transformasi Kolom Impor, transformasi Perintah OLE DB, atau tujuan Ringkas SQL Server.

Prosedur berikut menjelaskan cara menggunakan kotak dialog ini untuk mengonfigurasi output kesalahan.

Untuk mengonfigurasi output kesalahan menggunakan kotak dialog Konfigurasi Output Kesalahan

  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. Di SSIS Designer, klik tab Aliran Data.

  4. Seret output kesalahan, yang diwakili oleh panah merah, dari komponen yang merupakan sumber kesalahan ke komponen lain dalam aliran data.

  5. Dalam kotak dialog Konfigurasi Output Kesalahan, pilih tindakan di kolom Kesalahan dan Pemotongan untuk setiap kolom dalam input komponen.

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

Untuk menambahkan output kesalahan menggunakan kotak dialog editor untuk komponen

  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. Di SSIS Designer, klik tab Aliran Data.

  4. Klik dua kali komponen aliran data tempat Anda ingin mengonfigurasi output kesalahan dan, tergantung pada komponennya, lakukan salah satu langkah berikut:

    • Klik Konfigurasikan Output Kesalahan.

    • Klik Output Kesalahan.

  5. Atur opsi Kesalahan untuk setiap kolom.

  6. Atur opsi Pemotongan untuk setiap kolom.

  7. Klik OK.

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

Mengonfigurasi Kolom Output Kesalahan

Untuk mengonfigurasi kolom output kesalahan, Anda harus menggunakan tab Properti Input dan Output dari kotak dialog Editor Lanjutan.

Untuk mengonfigurasi kolom output kesalahan

  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. Di SSIS Designer, klik tab Aliran Data.

  4. Klik kanan komponen yang kolom output kesalahannya ingin Anda konfigurasi dan klik Tampilkan Editor Lanjutan.

  5. Klik tab Properti Input dan Output dan perluas <nama> komponen Output Kesalahan lalu perluas Kolom Output.

  6. Klik kolom dan perbarui propertinya.

    Catatan

    Daftar kolom mencakup kolom dalam input komponen, kolom ErrorCode dan ErrorColumn yang ditambahkan oleh output kesalahan sebelumnya, dan kolom ErrorCode dan ErrorColumn yang ditambahkan oleh komponen ini.

  7. Klik OK.

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

Menambahkan Penampil Data ke Aliran Data

Topik ini menjelaskan cara menambahkan dan mengonfigurasi penampil data dalam aliran data. Penampil data menampilkan data yang bergerak di antara dua komponen aliran data. Misalnya, penampil data dapat menampilkan data yang diekstrak dari sumber data sebelum transformasi dalam aliran data memodifikasi data.

Jalur menghubungkan komponen dalam aliran data dengan menyambungkan output dari satu komponen aliran data ke input komponen lain.

Sebelum Anda dapat menambahkan penampil data ke paket, paket harus menyertakan tugas Aliran Data dan setidaknya dua komponen aliran data yang tersambung.

Tambahkan penampil data ke output kesalahan untuk melihat deskripsi kesalahan dan nama kolom tempat kesalahan terjadi. Secara default output kesalahan hanya menyertakan pengidentifikasi numerik untuk kesalahan dan kolom.

Untuk menambahkan penampil data ke aliran data

  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, jika belum aktif.

  4. Klik tugas Aliran Data yang aliran datanya ingin Anda lampirkan penampil data lalu klik tab Aliran Data.

  5. Klik kanan jalur antara dua komponen aliran data, dan klik Edit.

  6. Pada halaman Umum , Anda bisa menampilkan dan mengedit properti jalur. Misalnya, dari daftar drop-down PathAnnotation , Anda dapat memilih anotasi yang muncul di samping jalur.

  7. Pada halaman Metadata , Anda dapat melihat metadata kolom dan menyalin metadata ke Clipboard.

  8. Pada halaman Penampil Data, klik Aktifkan penampil data.

  9. Di area Kolom yang akan ditampilkan, pilih kolom yang ingin Anda tampilkan di penampil data. Secara default, semua kolom yang tersedia dipilih dan tercantum dalam daftar Kolom yang Ditampilkan. Pindahkan kolom yang tidak ingin Anda gunakan ke daftar Kolom Yang Tidak Digunakan dengan memilihnya lalu mengklik panah kiri.

    Catatan

    Dalam kisi, nilai yang mewakili jenis data DT_DATE, DT_DBTIME2, DT_FILETIME, DT_DBTIMESTAMP, DT_DBTIMESTAMP2, dan DT_DBTIMESTAMPOFFSET muncul sebagai string berformat ISO 8601 dan pemisah spasi menggantikan pemisah T . Nilai yang mewakili jenis data DT_DATE dan DT_FILETIME mencakup tujuh digit untuk detik pecahan. Karena jenis data DT_FILETIME hanya menyimpan tiga digit detik pecahan, kisi menampilkan nol untuk empat digit yang tersisa. Nilai yang mewakili jenis data DT_DBTIMESTAMP mencakup tiga digit untuk detik pecahan. Untuk nilai yang mewakili jenis data DT_DBTIME2, DT_DBTIMESTAMP2, dan DT_DBTIMESTAMPOFFSET, jumlah digit untuk detik pecahan sesuai dengan skala yang ditentukan untuk jenis data kolom. Untuk informasi selengkapnya tentang format ISO 8601, lihat Format Tanggal dan Waktu. Untuk informasi selengkapnya tentang jenis data, lihat Jenis Data Integration Services.

  10. Klik OK.

Ketukan Aliran Data

Anda dapat menambahkan ketukan data pada jalur aliran data paket saat runtime dan mengarahkan output dari ketukan data ke file eksternal. Untuk menggunakan fitur ini, Anda harus menyebarkan proyek SSIS menggunakan model penyebaran proyek ke SSIS Server. Setelah menyebarkan paket ke server, Anda perlu menjalankan skrip T-SQL terhadap database SSISDB untuk menambahkan ketukan data sebelum menjalankan paket. Berikut adalah skenario sampel:

  1. Buat instans eksekusi paket dengan menggunakan prosedur tersimpan catalog.create_execution (Database SSISDB).

  2. Tambahkan ketukan data dengan menggunakan prosedur tersimpan catalog.add_data_tap atau catalog.add_data_tap_by_guid .

  3. Mulai instans eksekusi paket dengan menggunakan catalog.start_execution (Database SSISDB).

Berikut adalah contoh skrip SQL yang melakukan langkah-langkah yang dijelaskan dalam skenario di atas:

Declare @execid bigint  
EXEC [SSISDB].[catalog].[create_execution] @folder_name=N'ETL Folder', @project_name=N'ETL Project', @package_name=N'Package.dtsx', @execution_id=@execid OUTPUT  
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt'  
EXEC [SSISDB].[catalog].[start_execution] @execid  

Nama folder, nama proyek, dan parameter nama paket prosedur tersimpan create_execution sesuai dengan nama folder, proyek, dan paket dalam katalog Layanan Integrasi. Anda bisa mendapatkan nama folder, proyek, dan paket untuk digunakan dalam panggilan create_execution dari SQL Server Management Studio seperti yang ditunjukkan pada gambar berikut. Jika Anda tidak melihat proyek SSIS Anda di sini, Anda mungkin belum menyebarkan proyek ke server SSIS. Klik kanan pada proyek SSIS di Visual Studio dan klik Sebarkan untuk menyebarkan proyek ke server SSIS yang diharapkan.

Alih-alih mengetik pernyataan SQL, Anda dapat menghasilkan skrip paket eksekusi dengan melakukan langkah-langkah berikut:

  1. Klik kanan Package.dtsx dan klik Jalankan.

  2. Klik tombol toolbar Skrip untuk menghasilkan skrip.

  3. Sekarang, tambahkan pernyataan add_data_tap sebelum panggilan start_execution.

Parameter task_package_path prosedur tersimpan add_data_tap sesuai dengan properti PackagePath dari tugas aliran data di Visual Studio. Di Visual Studio, klik kanan Tugas Aliran Data, dan klik Properti untuk meluncurkan jendela Properti. Perhatikan nilai properti PackagePath untuk menggunakannya sebagai nilai untuk parameter task_package_path untuk panggilan prosedur tersimpan add_data_tap.

Parameter dataflow_path_id_string prosedur tersimpan add_data_tap sesuai dengan properti IdentificationString dari jalur aliran data yang ingin Anda tambahkan ketuk datanya. Untuk mendapatkan dataflow_path_id_string, klik jalur aliran data (panah antar tugas dalam aliran data), dan perhatikan nilai properti IdentificationString di jendela Properti.

Saat Anda menjalankan skrip, file output disimpan di <Program Files>\Microsoft SQL Server\110\DTS\DataDumps. Jika file dengan nama sudah ada, file baru dengan akhiran (misalnya: output[1].txt) dibuat.

Seperti disebutkan sebelumnya, Anda juga dapat menggunakan prosedur tersimpan catalog.add_data_tap_by_guid alih-alih menggunakan prosedur tersimpan add_data_tap. Prosedur tersimpan ini mengambil ID tugas aliran data sebagai parameter alih-alih task_package_path. Anda bisa mendapatkan ID tugas aliran data dari jendela properti di Visual Studio.

Menghapus ketukan data

Anda dapat menghapus ketukan data sebelum memulai eksekusi dengan menggunakan prosedur catalog.remove_data_tap disimpan. Prosedur tersimpan ini mengambil ID ketukan data sebagai parameter, yang bisa Anda dapatkan sebagai output dari prosedur tersimpan add_data_tap.

DECLARE @tap_id bigint  
EXEC [SSISDB].[catalog].add_data_tap @execution_id = @execid, @task_package_path = '\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[Flat File Source.Flat File Source Output]', @data_filename = 'output.txt' @data_tap_id=@tap_id OUTPUT  
EXEC [SSISDB].[catalog].remove_data_tap @tap_id  

Mencantumkan semua ketukan data

Anda juga dapat mencantumkan semua ketukan data dengan menggunakan tampilan catalog.execution_data_taps. Contoh berikut mengekstrak ketukan data untuk instans eksekusi spesifikasi (ID: 54).

select * from [SSISDB].[catalog].execution_data_taps where execution_id=@execid  

Pertimbangan performa

Mengaktifkan tingkat pengelogan verbose dan menambahkan ketukan data meningkatkan operasi I/O yang dilakukan oleh solusi integrasi data Anda. Oleh karena itu, kami sarankan Anda menambahkan ketukan data hanya untuk tujuan pemecahan masalah

Video

Video di TechNet ini menunjukkan cara menambahkan/menggunakan ketukan data di katalog SQL Server 2012 SSISDB yang membantu men-debug paket secara terprogram dan menangkap hasil parsial pada runtime. Ini juga membahas cara mencantumkan/ menghapus ketukan data ini dan praktik terbaik untuk menggunakan ketukan data dalam paket SSIS.

Lihat Juga

Penanganan Kesalahan dalam Data