Bagikan melalui


Komponen Aliran CDC

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

Penting

Komponen Aliran CDC, termasuk Tugas Kontrol CDC, Sumber CDC, dan Pemisah CDC, tidak digunakan lagi. Untuk detailnya, lihat pengumuman.

Komponen Ubah Penangkapan Data oleh Attunity untuk Microsoft SQL Server 2019 Integration Services (SSIS) membantu pengembang SSIS bekerja dengan CDC dan mengurangi kompleksitas paket CDC.

Komponen SSIS CDC dirancang untuk bekerja dengan fitur CDC SQL Server di mana tabel sumber adalah database SQL Server yang sama atau database Oracle (saat menggunakan Layanan CDC Oracle untuk SQL Server). Tabel yang dipartisi didukung.

Komponen termasuk komponen Kontrol dan Aliran Data yang menyederhanakan pengalaman membaca dan memproses data perubahan dalam paket SSIS. Komponen dapat ditambahkan ke pustaka komponen di Microsoft SQL Server, tetapi diinstal secara terpisah.

Berikut ini adalah Ubah Komponen Penangkapan Data berdasarkan Attunity:

Komponen Aliran Kontrol CDC:

Tugas Kontrol CDC

Komponen Aliran Data CDC:

Sumber CDC

Pemisah CDC

Penginstalan

Bagian ini menjelaskan prosedur penginstalan untuk Komponen CDC untuk Microsoft SQL Server 2019 Integration Services (SSIS).

Komponen CDC untuk SSIS dikemas dengan Microsoft Change Data Capture Designer dan Service for Oracle by Attunity untuk SQL Server. Unduhan ini adalah bagian dari Paket Fitur SQL Server. Unduh komponen Paket Fitur dari halaman web Paket Fitur SQL Server 2016.

Dukungan Versi

Dukungan versi SQL Server

Komponen CDC untuk SSIS didukung pada semua versi Microsoft SQL Server yang didukung. Saat ini, versi SQL Server yang didukung termasuk SQL Server 2012 hingga SQL Server 2017.

Dukungan versi sistem operasi

Komponen CDC untuk SSIS didukung pada sistem operasi dan platform berikut:

  • Windows 8 dan 8.1
  • Windows 10
  • Windows Server 2012 dan 2012 R2
  • Server Windows 2016

Menjalankan Program Penginstalan

Sebelum Anda menjalankan wizard penginstalan, pastikan SQL Server SQL Server Data Tools ditutup. Kemudian ikuti petunjuk dalam wizard penginstalan.

Mulai ulang Layanan SSIS

Setelah menginstal komponen CDC, Anda harus memulai ulang layanan SSIS untuk memastikan bahwa komponen berfungsi dengan benar saat mengembangkan paket di SQL SQL Server Data Tools.

Pesan ditampilkan setelah Anda menginstal komponen. Klik Ya saat diminta.

Menghapus instalasi Komponen CdC Microsoft

Anda menghapus instalan tugas sumber CDC, pemisah CDC, atau Kontrol CDC, dengan menggunakan wizard hapus instalan. Jika Anda menggunakan SQL Server SQL Server Data Tools untuk pengembangan paket, pastikan SQL Server Data Tools ditutup sebelum menjalankan wizard hapus instalan.

Keuntungan

Komponen CDC untuk komponen SQL Server Integration Services memungkinkan pengembang SSIS untuk dengan mudah membangun paket SSIS yang memproses data perubahan. Komponen-komponen ini meningkatkan kemampuan pengembang SSIS untuk menangani CDC dan mengurangi kompleksitas paket CDC.

Komponen SSIS CDC digunakan untuk menyediakan data perubahan dengan cara yang mudah untuk memprosesnya lebih lanjut untuk replikasi, memuat gudang data, memperbarui dimensi yang berubah secara perlahan untuk OLAP, mengaudit perubahan, atau untuk kemungkinan penggunaan tambahan. Jenis pemrosesan lebih lanjut yang digunakan ditentukan oleh pengembang SSIS.

Komponen SSIS CDC dirancang untuk bekerja dengan fitur CDC SQL Server dengan tabel perubahan yang berada dalam database SQL Server yang sama.

Memulai Komponen Ubah Penangkapan Data

Paket CDC umum memproses perubahan pada sekelompok tabel. Bagian alur kontrol dasar dari jenis paket CDC ini diperlihatkan dalam gambar berikut. Paket ini disebut paket pemrosesan umpan trickle.

Alur Kontrol Paket Pemrosesan Umpan Trickle

Alur Kontrol SQL Server Integration Services ini berisi dua Tugas Kontrol CDC dan tugas Aliran Data. Tugas pertama yang disebut Dapatkan Rentang Pemrosesan CDC menetapkan rentang LSN untuk perubahan yang diproses dalam tugas aliran data yang disebut Perubahan Proses. Rentang ini dibuat berdasarkan apa yang diproses selama eksekusi paket terakhir dan disimpan di penyimpanan persisten.

Untuk informasi selengkapnya tentang menggunakan Tugas Kontrol CDC, lihat Tugas Kontrol CDC dan Editor Tugas Kontrol CDC.

Gambar berikut menunjukkan aliran data Perubahan Proses, yang secara konseptual menunjukkan bagaimana perubahan diproses.

Aliran Data Perubahan Proses

Langkah-langkah yang diilustrasikan dalam gambar ini adalah:

  • Perubahan untuk Tabel X adalah sumber CDC yang membaca perubahan yang dibuat pada tabel X yang dibuat dalam rentang pemrosesan CDC yang ditentukan dalam alur kontrol induk.

  • CDC Splitter X digunakan untuk membagi perubahan menjadi penyisipan, penghapusan, dan pembaruan. Dalam skenario ini, diasumsikan bahwa Sumber CDC dikonfigurasi untuk menghasilkan perubahan Net sehingga berbagai jenis perubahan dapat diproses secara paralel.

  • Perubahan spesifik kemudian diproses lebih lanjut di hilir. Dalam ilustrasi ini, perubahan disisipkan ke dalam tabel menggunakan beberapa Tujuan ODBC tetapi dalam kasus aktual pemrosesan mungkin berbeda.

Untuk informasi selengkapnya tentang Sumber CDC, lihat:

Sumber CDC

Editor Sumber CDC (Halaman Pengelola Sambungan)

Editor Sumber CDC (Halaman Kolom)

Editor Sumber CDC (Halaman Output Kesalahan)

Untuk informasi selengkapnya tentang Pemisah CDC, lihat:

Pemisah CDC

Salah satu masalah dasar yang memerlukan perhatian saat membangun paket CDC adalah bagaimana pemrosesan perubahan berinteraksi dengan pemuatan awal (atau pemrosesan awal) data.

Komponen CDC mendukung tiga skenario pemuatan awal dan pemrosesan perubahan yang berbeda:

  • Pemuatan awal dilakukan dengan rekam jepret database. Dalam hal ini, pemrosesan perubahan dimulai dengan LSN peristiwa rekam jepret.

  • Pemuatan awal dari database quiescent. Dalam hal ini, tidak ada perubahan yang dilakukan selama pemuatan awal sehingga LSN saat ini diambil sampelnya kapan saja selama beban awal dan pemrosesan perubahan dimulai dengan LSN tersebut.

  • Pemuatan awal dari database aktif. Dalam hal ini, karena beban awal sedang berlangsung, perubahan dilakukan pada database dan tidak ada satu LSN dari mana pemrosesan perubahan dapat dimulai dengan tepat. Dalam hal ini, pengembang paket beban awal dapat mengambil sampel LSN database sumber saat ini sebelum dan sesudah beban awal. Kemudian, ketika memproses perubahan, perawatan harus dilakukan saat memproses perubahan yang dibuat secara paralel dengan beban awal karena beberapa perubahan yang diproses sudah terlihat dalam beban awal (misalnya, perubahan Sisipkan mungkin gagal dengan kesalahan kunci duplikat karena baris yang dimasukkan dibaca oleh proses beban awal).

Gambar berikut menunjukkan paket SSIS yang dapat menangani dua skenario pertama:

Penanganan paket SSIS dua skenario pertama

Gambar berikut menunjukkan paket SSIS yang dapat menangani skenario ketiga:

Skenario ketiga penanganan paket SSIS

Setelah paket beban awal, paket pembaruan umpan trickle dijalankan berulang kali sesuai dengan jadwal untuk memproses perubahan saat tersedia untuk dikonsumsi.

Meneruskan status pemrosesan CDC dari paket beban awal ke paket umpan trickle dan antara tugas yang berbeda dalam setiap paket terjadi dengan variabel string paket SSIS khusus. Nilai variabel ini disebut sebagai Status CDC, yang mencerminkan status pemrosesan CDC saat ini untuk grup tabel yang ditangani oleh beban awal dan paket umpan trickle.

Nilai variabel Status CDC perlu dipertahankan dalam penyimpanan persisten. Ini harus dibaca sebelum memulai pemrosesan CDC dan harus disimpan dengan status saat ini setelah pemrosesan selesai. Tugas memuat dan menyimpan status CDC dapat ditangani oleh pengembang SSIS tetapi komponen Kontrol CDC dapat mengotomatiskan tugas ini dengan mempertahankan nilai Status CDC dalam tabel database.

Pertimbangan Keamanan

Bagian ini mencantumkan beberapa pertimbangan keamanan yang terkait dengan penggunaan komponen CDC di SSIS.

Otorisasi Akses untuk Mengubah Data

Paket pembaruan Trickle-feed memerlukan akses ke fungsi CDC SQL Server. Akses tersebut diberikan, secara default, kepada anggota peran database tetap db_owner . Karena db_owner adalah peran yang kuat, saat menentukan instans pengambilan dalam SQL Server disarankan untuk mengaitkan peran keamanan pembatasan ke setiap instans tangkapan yang memungkinkan paket CDC SSIS menggunakan pengguna yang jauh lebih terbatas untuk memproses perubahan.

Akses ke CDC Database Current LSN

Operasi tugas Kontrol CDC untuk menandai LSN mulai untuk pemrosesan perubahan harus dapat menemukan LSN database CDC saat ini. Komponen menemukan LSN dengan menggunakan prosedur sp_replincrementlsn dari database master. Izin eksekusi pada prosedur ini harus diberikan ke login yang digunakan untuk menyambungkan ke database CDC SQL Server.

Akses ke Tabel Status CDC

Tabel Status CDC digunakan untuk secara otomatis mempertahankan Status CDC yang perlu diperbarui oleh login yang digunakan untuk menyambungkan ke database CDC SQL Server. Saat tabel ini dibuat oleh pengembang SSIS, atur administrator sistem SQL Server sebagai pengguna yang berwenang untuk membuat database SQL Server dan melakukan tugas administratif dan pemeliharaan. Selain itu, administrator sistem SQL Server yang bekerja dengan database berkemampuan CDC harus mengetahui teknologi dan implementasi CDC SQL Server.

Mengelompokkan Tabel untuk Pemrosesan CDC

Proyek database berkisar dalam ukuran dari beberapa tabel hingga ribuan tabel. Saat merancang beban awal dan paket CDC, bermanfaat untuk mengelompokkan tabel dalam grup yang jauh lebih kecil untuk manajemen dan efisiensi yang lebih mudah. Bagian ini mencantumkan berbagai pertimbangan yang memengaruhi pengurutan tabel ke dalam grup kecil, di mana tabel di masing-masing awalnya dimuat lalu diperbarui sebagai grup.

Pola CDC yang didukung oleh komponen CDC mengasumsikan bahwa pengelompokan ini sudah ditentukan. Setiap grup menentukan konteks CDC terpisah yang dipertahankan secara terpisah dari grup lain. Untuk setiap grup, paket pembaruan beban awal dan umpan trickle dibuat. Pembaruan umpan trickle dijadwalkan untuk eksekusi berkala berdasarkan tingkat batasan pemrosesan perubahan (misalnya, konsumsi CPU dan IO, dampak pada sistem lain) dan latensi yang diinginkan.

Tabel dikelompokkan berdasarkan pertimbangan berikut:

  1. Menurut database target. Semua tabel yang ditulis ke database target yang berbeda atau menjalani pemrosesan yang berbeda harus ditetapkan ke grup CDC yang berbeda.

  2. Tabel yang terkait dengan batasan integritas referensial harus ditetapkan ke grup yang sama untuk menghindari masalah integritas referensial pada target.

  3. Tabel yang latensinya lebih tinggi dapat ditoleransi dapat dikelompokkan sehingga dapat diproses lebih jarang dan mengurangi beban sistem secara keseluruhan.

  4. Tabel yang tingkat perubahannya lebih tinggi harus dalam grup yang lebih kecil, dan tabel dengan tingkat perubahan rendah dapat dikelompokkan dalam grup yang lebih besar.

Dua paket berikut dibuat untuk setiap grup CDC:

  • Paket Beban Awal, yang membaca seluruh rentang data dari tabel sumber dan menerapkannya ke tabel target.

  • Paket pembaruan umpan trickle yang membaca perubahan yang dilakukan pada tabel sumber dan menerapkan perubahan pada tabel target. Paket ini harus dijalankan secara teratur.

Status CDC

Setiap grup CDC memiliki status yang terkait dengannya, yang diwakili oleh string dengan format tertentu. Untuk informasi selengkapnya, lihat Tugas Kontrol CDC. Tabel berikut ini memperlihatkan kemungkinan nilai status CDC.

Provinsi Deskripsi
0-(INISIAL) Status yang ada sebelum paket apa pun dijalankan pada grup CDC saat ini. Ini juga merupakan status ketika status CDC kosong.

Untuk informasi selengkapnya tentang operasi tugas Kontrol CDC, lihat Tugas Kontrol CDC.
1-ILSTART (Inisial-Load-Started) Ini adalah status yang ada ketika paket beban awal dimulai. Ini terjadi setelah panggilan operasi MarkInitialLoadStart ke tugas Kontrol CDC.

Untuk informasi selengkapnya tentang operasi tugas Kontrol CDC, lihat Tugas Kontrol CDC.
2- ILEND (Initial-Load-Ended) Ini adalah status yang ada ketika paket beban awal berhasil berakhir. Ini terjadi setelah panggilan operasi MarkInitialLoadEnd ke tugas Kontrol CDC.

Untuk informasi selengkapnya tentang operasi tugas Kontrol CDC, lihat Tugas Kontrol CDC.
3-ILUPDATE (Pembaruan Beban Awal) Ini adalah status yang ada setelah eksekusi pertama paket Pembaruan setelah beban awal sambil masih memproses rentang pemrosesan awal. Ini terjadi setelah panggilan operasi GetProcessingRange ke tugas kontrol CDC.

Jika menggunakan kolom _$reprocessing , kolom diatur ke 1 untuk menunjukkan bahwa paket mungkin sudah memproses ulang baris pada target.

Untuk informasi selengkapnya tentang operasi tugas Kontrol CDC, lihat Tugas Kontrol CDC.
4-TFEND (Trickle-Feed-Update-Ended) Ini adalah status yang diharapkan untuk eksekusi CDC reguler. Ini menunjukkan bahwa eksekusi sebelumnya berhasil diselesaikan dan bahwa eksekusi baru dengan rentang pemrosesan baru dapat dimulai.
5-TFSTART (Trickle-Feed-Update-Started) Ini adalah status yang ada pada eksekusi berikutnya dari paket Pembaruan setelah panggilan operasi GetProcessingRange ke tugas kontrol CDC.

Ini menunjukkan bahwa eksekusi CDC reguler dimulai, tetapi belum selesai atau belum selesai, dengan bersih (MarkProcessedRange).

Untuk informasi selengkapnya tentang operasi tugas Kontrol CDC, lihat Tugas Kontrol CDC.
6-TFREDO (Pemrosesan Ulang-Trickle-Feed-Update) Ini adalah status pada GetProcessingRange yang terjadi setelah TFSTART. Ini menunjukkan bahwa eksekusi sebelumnya tidak berhasil diselesaikan.

Jika menggunakan kolom __$pemrosesan ulang, kolom diatur ke 1 untuk menunjukkan bahwa paket mungkin sudah memproses ulang baris pada target.
KESALAHAN 7 Grup CDC berada dalam status ERROR.

Berikut adalah diagram status untuk komponen CDC. Status KESALAHAN tercapai ketika status tercapai yang tidak diharapkan. Status yang diharapkan diilustrasikan dalam diagram berikut. Namun diagram tidak menampilkan status KESALAHAN.

Misalnya, di akhir paket beban awal, saat mencoba mengatur status ke ILEND, jika statusnya adalah TFSTART, grup CDC berada dalam status kesalahan dan paket Pembaruan Trickle-Feed tidak berjalan (paket Beban Awal tidak berjalan).

Diagram Status

Setelah paket Beban Awal berhasil berjalan, paket Pembaruan Trickle-Feed berjalan berulang kali di bawah jadwal yang telah ditentukan untuk memproses perubahan pada tabel sumber. Setiap eksekusi paket Pembaruan Trickle-Feed adalah eksekusi CDC.

Di Bagian Ini

Lihat Juga

Tugas Kontrol CDC