CDC merupakan salahsatu fitur baru yang hadir dalam SQL Server 2008 keatas. Fitur ini dapat difungsikan untuk meng-capture perubahan yang terjadi pada table di SQL Server pada aktivitas Insert, Update dan Delete. tentunya hal ini akan sangat membantu seorang DBA saat melakukan suatu investigasi sebuah tabel, tidak perlu repot lagi dengan trigger, join query atau timestamp column untuk menangkap perubahan data.
Untuk dapat menggunakan fitur CDC. pertama kita harus meng-enabled-kan nya pada level database terlebih dahulu. berikut ini caranya. dalam contoh ini saya menggunakan database Adventureworks dan pastikan SqlServer Agent telah aktif.
use AdventureWorks
exec sys.sp_cdc_enable_db
lalu setelah code diatas telah di execute, kita cek hasil dengan query berikut
select is_cdc_enabled from sys.databases
where name='Adventureworks'
Jika hasilnya 1, maka fitur CDC pada database adventureworks telah di enabled-kan.
Lalu kita berlanjut pada tahap selanjutnya yaitu meng-enabled-kan CDC pada level tabel dengan query sebagai berikut :
exec sys.sp_cdc_enable_table
@source_schema='production',
@source_name='Culture',
@role_name='Culture_CDC'
Kemudian setelah code diatas telah di execute, kita bisa periksa apakah CDC telah di-enabled-kan dengan query berikut :
select is_tracked_by_cdc from sys.tables where name='culture'
jika hasilnya 1, maka fitur CDC pada tabel production.culture telah di enabled-kan.
Setelah kita mengaktifkan CDC pada level database dan table, akan ada perubahan pada System Tables di database Adventure works seperti pada gambar berikut :
mari kita coba beberapa transaksi terhdap table production.culture.
insert into Production.Culture
(CultureID,Name,ModifiedDate)
values
('id','Indonesia','2010-06-01 00:00:00.000')
go
update Production.Culture set
Name='Ina' where CultureID='id'
go
delete from Production.Culture
where CultureID='id'
go
sekarang kita lihat bagaimana CDC merekam transaksi-transaksi diatas. saya menggunakan query terhadap table yang terbentuk di System Tables.
SELECT * FROM cdc.production_Culture_CT
hasilnya adalah sebagai berikut :
pada field __$operation terdapat angka 1,2,3 dan 4. angka 1 mewakili aktivitas DELETE, angka 2 mewakili aktivitas INSERT, angka 3 mewakili UPDATE (before image) dan angka 4 mewakili aktivitas UPDATE (after image).
Jadi bila kita perhatikan pada row ke 2 dan 4. operation 3 lalu dilanjutkan ke operation 4. disitu tampak perubahan proses updatenya ada pada coloumn Name dimana ‘Indonesia’ berubah menjadi ‘Ina’.
Bila kita tidak memerlukan aktivitas CDC untuk table production.culture ini, dapat di disabled-kan dengan query berikut :
exec sys.sp_cdc_disable_table
@source_schema='production',
@source_name='culture',
@capture_instance='production_culture'
go
demikian, semoga bermanfaat.
Alhamdulillah telah dipercaya untuk memberikan workshop GIS dengan menggunakan perangkat lunak QGIS di PT. AIR…
Terimakasih atas kepercayaannya kepada kami sehingga terselenggara Workshop QGIS utk PERUMDA AM Tirta Ratu Samba…
terimakasih atas kepercayaan Perumda Tirta Kahuripan Kab Bogor kepada saya utk mengimplementasikan GIS Online yang…
Para operator #GIS kadang mendapatkan sebuah gambar situasi yang diperoleh dari kondisi dilapangan yang kemudian…
Snapping di QGIS. teknik ini sifatnya wajib untuk dikuasai oleh para operator QGIS dalam kegiatan…
Epanet (Environmental Protection Agency Network ) adalah sebuah program komputer yang memiliki kemampuan melaksanakan simulasi…