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
Penting
Komponen alur CDC, termasuk Tugas Kontrol CDC, Sumber CDC, dan Pemisah CDC, sudah usang. Untuk detailnya, lihat pengumuman.
Komponen Change Data Capture dari Attunity untuk Microsoft SQL Server 2019 Integration Services (SSIS) membantu pengembang SSIS bekerja dengan CDC dan mengurangi kerumitan 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 adalah komponen Change Data Capture oleh Attunity:
Komponen Alur Kontrol CDC:
Komponen Aliran Data 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 Feature Pack dari halaman web SQL Server 2016 Feature Pack.
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 panduan 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.
Mencopot Pemasangan Komponen Microsoft CDC
Anda dapat menghapus instalan sumber CDC, pemisah CDC, atau tugas Kontrol CDC dengan menggunakan wizard penghapusan instalan. Jika Anda menggunakan SQL Server Data Tools untuk pengembangan paket, pastikan SQL Server Data Tools sudah ditutup sebelum menjalankan panduan penghapusan instalasi.
Keuntungan
Komponen CDC untuk komponen Layanan Integrasi SQL Server 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 dengan Komponen Change Data Capture
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 bertahap.
Alur Kontrol Layanan Integrasi SQL Server ini berisi dua Tugas Kontrol CDC dan tugas Aliran Data. Tugas pertama yang disebut Dapatkan Rentang Pemrosesan CDC menentukan rentang LSN untuk perubahan yang diproses dalam tugas alur data yang disebut Proses Perubahan. Rentang ini dibuat berdasarkan apa yang diproses selama eksekusi paket terakhir dan disimpan di penyimpanan persisten.
Untuk informasi lebih lanjut tentang penggunaan CDC Control Task, lihat CDC Control Task dan CDC Control Task Editor.
Gambar berikut menunjukkan aliran data Perubahan Proses, yang secara konseptual menunjukkan bagaimana perubahan diproses.
Langkah-langkah yang diilustrasikan dalam gambar ini adalah:
Perubahan pada Tabel X adalah sumber CDC yang membaca perubahan pada tabel X yang terjadi 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:
Editor Sumber CDC (Halaman Pengelola Sambungan)
Editor Sumber CDC (Halaman Kolom)
Editor Sumber CDC (Halaman Keluaran Kesalahan)
Untuk informasi selengkapnya tentang CDC Splitter, lihat:
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 dari LSN peristiwa snapshot.
Pemuatan awal dari database yang tidak aktif. 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, saat memproses perubahan, perlu berhati-hati terhadap perubahan yang dibuat secara paralel dengan pemuatan awal, karena beberapa perubahan yang diproses mungkin sudah tercakup dalam pemuatan awal (misalnya, perubahan insert dapat gagal dengan error kunci duplikat karena baris yang disisipkan sudah dibaca oleh proses pemuatan awal).
Gambar berikut menunjukkan paket SSIS yang dapat menangani dua skenario pertama:
Gambar berikut menunjukkan paket SSIS yang dapat menangani skenario ketiga:
Setelah paket pemuatan awal, paket pembaruan bertahap dijalankan berulang kali berdasarkan jadwal untuk memproses perubahan saat perubahan tersebut tersedia untuk digunakan.
Penerusan status pemrosesan CDC dari paket pemuatan awal ke paket umpan bertahap dan antar tugas yang berbeda di dalam masing-masing paket dilakukan melalui variabel string khusus paket SSIS. Nilai variabel ini disebut sebagai Keadaan CDC, yang mencerminkan status terkini pemrosesan CDC untuk kelompok tabel yang ditangani oleh paket pemuatan awal dan paket trickle-feed.
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, secara bawaan, diberikan 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 CDC Control untuk menandai LSN awal bagi 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 kelompok kecil, di mana tabel di masing-masing tabel awalnya dimuat dan kemudian diperbarui sebagai satu grup.
Pola CDC yang didukung oleh komponen CDC mengasumsikan bahwa pengelompokan ini sudah ditentukan. Setiap kelompok menentukan konteks CDC tersendiri yang dikelola secara terpisah dari kelompok lainnya. Untuk setiap grup, paket pembaruan pemuatan awal dan bertahap dibuat. Pembaruan bertahap dijadwalkan untuk proses berkala berdasarkan batasan pemrosesan laju perubahan (misalnya, konsumsi CPU dan IO, serta dampaknya pada sistem lain) dan latensi yang diinginkan.
Tabel dikelompokkan berdasarkan pertimbangan berikut:
Menurut database target. Semua tabel yang ditulis ke database target yang berbeda atau menjalani pemrosesan yang berbeda harus ditetapkan ke grup CDC yang berbeda.
Tabel yang terkait dengan batasan integritas referensial harus ditetapkan ke grup yang sama untuk menghindari masalah integritas referensial pada target.
Tabel yang latensinya lebih tinggi dapat ditoleransi dapat dikelompokkan sehingga dapat diproses lebih jarang dan mengurangi beban sistem secara keseluruhan.
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 bertahap yang membaca perubahan yang dibuat pada tabel sumber dan menerapkannya 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 CDC Control Task. Tabel berikut ini memperlihatkan kemungkinan nilai status CDC.
| Negara Bagian | 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 (Muat-Awal-Dimulai) | Ini adalah status yang ada ketika paket beban awal dimulai. Ini terjadi setelah panggilan operasi MarkInitialLoadStart ke tugas CDC Control. Untuk informasi selengkapnya tentang operasi Tugas Kontrol CDC, lihat Tugas Kontrol CDC. |
| 2- ILEND (Inisial-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 pemanggilan 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 (Umpan-Bertahap-Pembaruan-Berakhir) | Ini adalah kondisi yang diharapkan pada eksekusi CDC reguler. Ini menunjukkan bahwa eksekusi sebelumnya berhasil diselesaikan dan bahwa eksekusi baru dengan rentang pemrosesan baru dapat dimulai. |
| 5-TFSTART (Pembaruan Umpan Bertahap Dimulai) | Ini adalah keadaan yang terjadi pada eksekusi selanjutnya dari paket pembaruan setelah pemanggilan operasi GetProcessingRange ke tugas kontrol CDC. Ini menunjukkan bahwa proses CDC reguler dimulai, tetapi tidak selesai atau belum selesai dengan benar (MarkProcessedRange). Untuk informasi selengkapnya tentang operasi Tugas Kontrol CDC, lihat Tugas Kontrol CDC. |
| 6-TFREDO (Pemrosesan Ulang-Trickle-Feed-Pembaruan) | Ini adalah status pada GetProcessingRange yang terjadi setelah TFSTART. Ini menunjukkan bahwa eksekusi sebelumnya tidak selesai dengan sukses. 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 ERROR tercapai saat sistem mencapai status 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).
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 kali paket Pembaruan Trickle-Feed dijalankan, proses tersebut merupakan proses CDC.
Di Bagian Ini
Tugas Terkait
Konten terkait
- Menginstal Microsoft SQL Server 2012 Change Data Capture untuk Oracle dari Attunity
- Memecahkan Masalah Konfigurasi di Microsoft Change Data Capture untuk Oracle oleh Attunity
- Mengatasi Kesalahan Instance CDC di Microsoft Change Data Capture untuk Oracle oleh Attunity
- CDC untuk database Oracle menggunakan Layanan Integrasi SQL Server 2012 (video SQL Server)
- Tugas Pengendalian CDC