Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
SSIS Integration Runtime di Azure Data Factory
Tugas Aliran Data merangkum mesin aliran data yang memindahkan data antara sumber dan tujuan, dan memungkinkan pengguna mengubah, membersihkan, dan memodifikasi data saat dipindahkan. Penambahan tugas Aliran Data ke alur kontrol paket memungkinkan paket mengekstrak, mengubah, dan memuat data.
Aliran data terdiri dari setidaknya satu komponen aliran data, tetapi biasanya merupakan sekumpulan komponen aliran data yang terhubung: sumber yang mengekstrak data; transformasi yang memodifikasi, merutekan, atau meringkas data; dan tujuan yang memuat data.
Pada waktu proses, tugas Aliran Data membangun rencana eksekusi dari aliran data, dan mesin aliran data menjalankan rencana. Anda dapat membuat tugas Aliran Data yang tidak memiliki aliran data, tetapi tugas hanya dijalankan jika menyertakan setidaknya satu aliran data.
Untuk menyisipkan data secara massal dari file teks ke dalam database SQL Server, Anda bisa menggunakan tugas Sisipkan Massal alih-alih tugas Aliran Data dan aliran data. Namun, tugas Sisipkan Massal tidak dapat mengubah data. Untuk informasi selengkapnya, lihat Tugas Penyisipan Massal.
Beberapa Alur
Tugas Aliran Data dapat menyertakan beberapa aliran data. Jika tugas menyalin beberapa set data, dan jika urutan data disalin tidak signifikan, akan lebih mudah untuk menyertakan beberapa aliran data dalam tugas Aliran Data. Misalnya, Anda dapat membuat lima aliran data, masing-masing menyalin data dari file datar ke tabel dimensi yang berbeda dalam skema bintang gudang data.
Namun, mesin aliran data menentukan urutan eksekusi ketika ada beberapa aliran data dalam satu tugas aliran data. Oleh karena itu, jika urutan itu penting, paket tersebut harus menggunakan beberapa tugas Data Flow, yang masing-masing berisi satu alur data. Anda kemudian dapat menerapkan batasan prioritas untuk mengontrol urutan eksekusi tugas.
Diagram berikut menunjukkan tugas Aliran Data yang memiliki beberapa aliran data.
Catatan Log
Integration Services menyediakan serangkaian peristiwa log yang tersedia untuk semua tugas. Integration Services juga menyediakan entri log kustom ke banyak tugas. Untuk informasi selengkapnya, lihat Pencatatan Log Integration Services (SSIS). Tugas Aliran Data mencakup entri log kustom berikut:
| Entri catatan | Deskripsi |
|---|---|
| BufferSizeTuning | Menunjukkan bahwa tugas Aliran Data mengubah ukuran buffer. Entri log menjelaskan alasan perubahan ukuran dan mencantumkan ukuran buffer baru sementara. |
| OnPipelinePostEndOfRowset | Menunjukkan bahwa komponen telah menerima sinyal akhir kumpulan baris, yang ditetapkan oleh pemanggilan terakhir metode ProcessInput. Entri ditulis untuk setiap komponen dalam aliran data yang memproses input. Entri mencakup nama komponen. |
| OnPipelinePostPrimeOutput | Menunjukkan bahwa komponen telah menyelesaikan panggilan terakhirnya ke metode PrimeOutput . Bergantung pada aliran data, beberapa entri log dapat ditulis. Jika komponen adalah sumber, entri log ini berarti bahwa komponen telah selesai memproses baris. |
| OnPipelinePreEndOfRowset | Menunjukkan bahwa komponen akan segera menerima sinyal akhir rowset, yang ditetapkan oleh pemanggilan terakhir metode ProcessInput. Entri ditulis untuk setiap komponen dalam aliran data yang memproses input. Entri mencakup nama komponen. |
| OnPipelinePrePrimeOutput | Menunjukkan bahwa komponen akan menerima panggilannya dari metode PrimeOutput . Bergantung pada aliran data, beberapa entri log dapat ditulis. |
| OnPipelineRowsSent | Melaporkan jumlah baris yang disediakan ke masukan komponen melalui pemanggilan metode ProcessInput. Entri log menyertakan nama komponen. |
| PipelineBufferLeak | Menyediakan informasi tentang komponen apa pun yang membuat buffer tetap hidup setelah manajer buffer pergi. Jika buffer masih hidup, sumber daya buffer tidak dirilis dan dapat menyebabkan kebocoran memori. Entri log menyediakan nama komponen dan ID buffer. |
| PipelineComponentTime | Melaporkan jumlah waktu (dalam milidetik) yang dihabiskan komponen di masing-masing dari lima langkah pemrosesan utamanya-Validasi, PreExecute, PostExecute, ProcessInput, dan ProcessOutput. |
| PipelineExecutionPlan | Melaporkan rencana eksekusi aliran data. Rencana eksekusi memberikan informasi tentang bagaimana buffer akan dikirim ke komponen. Informasi ini, dalam kombinasi dengan entri log PipelineExecutionTrees, menjelaskan apa yang terjadi dalam tugas Aliran Data. |
| PipelineExecutionTrees | Menampilkan pohon eksekusi dari tata letak dalam alur data. Penjadwal mesin aliran data menggunakan pohon untuk membangun rencana eksekusi aliran data. |
| PipelineInitialization | Menyediakan informasi inisialisasi tentang tugas. Informasi ini mencakup direktori yang akan digunakan untuk penyimpanan sementara data BLOB, ukuran buffer default, dan jumlah baris dalam buffer. Bergantung pada konfigurasi tugas Aliran Data, beberapa entri log dapat ditulis. |
Entri log ini memberikan banyak informasi tentang eksekusi tugas Aliran Data setiap kali Anda menjalankan paket. Saat Anda menjalankan paket berulang kali, Anda dapat mengambil informasi yang dari waktu ke waktu menyediakan informasi historis penting tentang pemrosesan yang dilakukan tugas, masalah yang mungkin memengaruhi performa, dan volume data yang ditangani tugas.
Untuk informasi selengkapnya tentang cara menggunakan entri log ini untuk memantau dan meningkatkan performa aliran data, lihat salah satu topik berikut:
Contoh Pesan Dari Tugas Aliran Data
Tabel berikut mencantumkan contoh pesan untuk entri log untuk paket yang sangat sederhana. Paket menggunakan sumber OLE DB untuk mengekstrak data dari tabel, transformasi Sortir untuk mengurutkan data, dan tujuan OLE DB untuk menulis data ke tabel lain.
| Entri catatan | Pesan |
|---|---|
| BufferSizeTuning | Rows in buffer type 0 would cause a buffer size greater than the configured maximum. There will be only 9637 rows in buffers of this type.Rows in buffer type 2 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type.Rows in buffer type 3 would cause a buffer size greater than the configured maximum. There will be only 9497 rows in buffers of this type. |
| OnPipelinePostEndOfRowset | A component will be given the end of rowset signal. : 1180 : Sort : 1181 : Sort InputA component will be given the end of rowset signal. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input |
| OnPipelinePostPrimeOutput | A component has returned from its PrimeOutput call. : 1180 : SortA component has returned from its PrimeOutput call. : 1 : OLE DB Source |
| OnPipelinePreEndOfRowset | A component has finished processing all of its rows. : 1180 : Sort : 1181 : Sort InputA component has finished processing all of its rows. : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input |
| OnPipelinePrePrimeOutput | PrimeOutput will be called on a component. : 1180 : SortPrimeOutput will be called on a component. : 1 : OLE DB Source |
| OnPipelineRowsSent | Rows were provided to a data flow component as input. : : 1185 : OLE DB Source Output : 1180 : Sort : 1181 : Sort Input : 76Rows were provided to a data flow component as input. : : 1308 : Sort Output : 1291 : OLE DB Destination : 1304 : OLE DB Destination Input : 76 |
| PipelineComponentTime | The component "Calculate LineItemTotalCost" (3522) spent 356 milliseconds in ProcessInput.The component "Sum Quantity and LineItemTotalCost" (3619) spent 79 milliseconds in ProcessInput.The component "Calculate Average Cost" (3662) spent 16 milliseconds in ProcessInput.The component "Sort by ProductID" (3717) spent 125 milliseconds in ProcessInput.The component "Load Data" (3773) spent 0 milliseconds in ProcessInput.The component "Extract Data" (3869) spent 688 milliseconds in PrimeOutput filling buffers on output "OLE DB Source Output" (3879).The component "Sum Quantity and LineItemTotalCost" (3619) spent 141 milliseconds in PrimeOutput filling buffers on output "Aggregate Output 1" (3621).The component "Sort by ProductID" (3717) spent 16 milliseconds in PrimeOutput filling buffers on output "Sort Output" (3719). |
| PipelineExecutionPlan | SourceThread0Drives: 1Influences: 1180 1291Output Work ListCreatePrimeBuffer of type 1 for output ID 11.SetBufferListener: "WorkThread0" for input ID 1181CreatePrimeBuffer of type 3 for output ID 12.CallPrimeOutput on component "OLE DB Source" (1)End Output Work ListEnd SourceThread0WorkThread0Drives: 1180Influences: 1180 1291Input Work list, input ID 1181 (1 EORs Expected)CallProcessInput on input ID 1181 on component "Sort" (1180) for view type 2End Input Work list for input 1181Output Work ListCreatePrimeBuffer of type 4 for output ID 1182.SetBufferListener: "WorkThread1" for input ID 1304CallPrimeOutput on component "Sort" (1180)End Output Work ListEnd WorkThread0WorkThread1Drives: 1291Influences: 1291Input Work list, input ID 1304 (1 EORs Expected)CallProcessInput on input ID 1304 on component "OLE DB Destination" (1291) for view type 5End Input Work list for input 1304Output Work ListEnd Output Work ListEnd WorkThread1 |
| PipelineExecutionTrees | begin execution tree 0output "OLE DB Source Output" (11)input "Sort Input" (1181)end execution tree 0begin execution tree 1output "OLE DB Source Error Output" (12)end execution tree 1begin execution tree 2output "Sort Output" (1182)input "OLE DB Destination Input" (1304)output "OLE DB Destination Error Output" (1305)end execution tree 2 |
| PipelineInitialization | No temporary BLOB data storage locations were provided. The buffer manager will consider the directories in the TEMP and TMP environment variables.The default buffer size is 10485760 bytes.Buffers will have 10000 rows by defaultThe data flow will not remove unused components because its RunInOptimizedMode property is set to false. |
Banyak peristiwa log menulis beberapa entri, dan pesan untuk sejumlah entri log berisi data yang kompleks. Untuk mempermudah memahami dan mengomunikasikan konten pesan kompleks, Anda dapat mengurai teks pesan. Bergantung pada lokasi log, Anda dapat menggunakan pernyataan Transact-SQL atau komponen Skrip untuk memisahkan teks kompleks ke dalam kolom atau format lain yang menurut Anda lebih berguna.
Misalnya, tabel berikut berisi pesan "Baris diberikan kepada komponen aliran data sebagai masukan." : : 1185 : Keluaran Sumber OLE DB : 1180 : Urutkan : 1181 : Input Urutkan : 76", diurai menjadi kolom-kolom. Pesan ditulis oleh peristiwa OnPipelineRowsSent ketika baris dikirim dari sumber OLE DB ke transformasi Sortir.
| Kolom | Deskripsi | Nilai |
|---|---|---|
| PathID | Nilai dari properti ID pada jalur antara sumber OLE DB dan transformasi Sort. | 1185 |
| PathName | Nilai dari properti Name dari jalur. | Keluaran Sumber OLE DB |
| ComponentID | Nilai properti ID dari transformasi Urutkan. | 1180 |
| ComponentName | Nilai dari properti Name pada transformasi Sort. | Urutkan |
| InputID | Nilai dari properti ID dari input untuk transformasi Sort. | 1181 |
| InputName | Nilai dari properti Name pada input untuk transformasi Sort. | Urutkan Input |
| RowsSent | Jumlah baris yang dikirim ke input transformasi Sortir. | 76 |
Konfigurasi Tugas Aliran Data
Anda dapat mengatur properti di jendela Properti atau secara terprogram.
Untuk informasi selengkapnya tentang cara mengatur properti ini di jendela Properti , klik topik berikut:
Konfigurasi secara terprogram dari Tugas Aliran Data
Untuk informasi selengkapnya tentang menambahkan tugas aliran data secara terprogram ke paket dan mengatur properti aliran data, klik topik berikut:
Tugas Terkait
Mengatur Properti Tugas atau Kontainer