Create SQL Server CDC

Sesuai dengan judul postingan "Create CDC SQL Server" maka kali ini penulis akan menjelaskan cara pembuatan CDC (Change Data Capture) di SQL Server.

Create SQL Server CDC

Langkah pengaturan CDC tersebut terdiri dari beberapa tahap yang dimulai dari level database sampai dengan level table.

Seperti terlihat pada langkah-langkah dibawah ini :
  1. Mengaktifkan CDC di level Database

    use [dbname]
    EXEC sys.sp_cdc_enable_db   -- membuat table cdc

    Setelah script diatas dijalankan maka di dalam folder system akan dibuatkan 6 buah tabel system.

  2. Mengaktifkan CDC di level Table

    -- enable cdc per table
    EXEC sys.sp_cdc_enable_table
    @source_schema = N'dbo',
    @source_name   = N'FT_MUSER',
    @role_name     = N'public',
    @supports_net_changes = 1
    GO

    Setelah script diatas dijalankan maka akan dibuat sebuah tabel berakhiran _CT didalam folder system yang akan berisi setiap perubahan didalam tabel tersebut.

    Create SQL Server CDC
    .
  3. Melakukan pengechekan setting CDC di Sys.Tables

    -- cek table telah ditracked
    SELECT is_tracked_by_cdc, * FROM sys.tables WHERE name = 'FT_MUSER'
    GO

    Hasil dari script diatas dapat dilihat pada langkah nomor 3.
  4. Melakukan DML untuk Pengetesan
  5. Melihat Hasil CDC setelah proses DML

    Untuk melihat hasil capture maka kita tinggal melakukan query terhadap table yang telah disetting CDC.
    Table yang telah disetting CDC akan dibuatkan sebuah table dengan nama sesuai table dan diakhiri dengan _CT.
Create SQL Server CDC

Dibawah ini adalah keterangan untuk kolom hasil pencatatan pada CDC setelah kita melakukan DML (Data Manipulation Language) di table.

  -- Proses insert akan menghasilkan 1 baris
  [__$operation] : 2
  [__$update_mask] : 0x7F

  -- Proses update akan menghasilkan 2 baris (1 sebelum dan 1 sesudah update)
  [__$operation] : 3 (before)
  [__$operation] : 4 (after)
  [__$update_mask] : 0x08

  -- Proses delete akan menghasilkan 1 baris yang telah dihapus
  [__$operation] : 1
  [__$update_mask] : 0x7F

Berikut ini saya tambahkan script untuk melakukan disable CDC di SQL Server.

 -- Akan menghapus table cdc
EXEC sys.sp_cdc_disable_db 

-- Akan menghapus table CDC utk FT_MUSER
EXEC sys.sp_cdc_disable_table
@source_schema = N'dbo',
@source_name   = N'FT_MUSER',
@capture_instance  = 'dbo_FT_MUSER'
GO

Semoga posting tentang "Create CDC SQL Server" diatas dapat bermanfaat



Salam,

Popular posts from this blog

K2 Error Value Cannot Be Null. Parameter Name: s In SmartView and SmartObject

Cara inject USB 3.0 Driver pada instalasi Windows - How to Inject USB 3.0 Driver in Windows 7

Pentaho Spoon Error : "Could Not Create The Java Virtual Machine"