Data Warehouse‎ > ‎

Change Data Capture pada SQL Server 2008

Microsoft SQL Server versi 2008 memiliki satu fitur yang sangat penting untuk keperluan data warehouse yaitu fitur Change Data Capture atau disingkat CDC.

Dengan adanya CDC secara native di produk SQL Server 2008, kita tidak perlu lagi memiliki produk aplikasi pembaca transaction log atau pencangkokan trigger yang menginformasikan perubahan-perubahan insert, update dan delete pada baris-baris data tabel kita.

Stored Procedure Yang Digunakan

  • sys.sp_cdc_enable_db
  • sys.sp_cdc_disable_db
  • sys.sp_cdc_get_captured_columns 'dbo_ms_produk'

Capture Changes

declare @begin_lsn binary(10), @end_lsn binary(10)
-- get the first LSN for customer changes
select @begin_lsn = sys.fn_cdc_get_min_lsn('dbo_ms_produk')
-- get the last LSN for customer changes
select @end_lsn = sys.fn_cdc_get_max_lsn()

select * from cdc.fn_cdc_get_net_changes_dbo_ms_produk( @begin_lsn, @end_lsn, 'all'); 
-- get individual changes in the range
select * from cdc.fn_cdc_get_all_changes_dbo_ms_produk( @begin_lsn, @end_lsn, 'all');

Keterangan Kolom

__$operation
  • 1 = delete
  • 2 = insert
  • 3 = update (values before update)
  • 4 = update (values after update)

Sumber Referensi


Comments