[SQL SERVER][CDC]SQL2008新特性-Change Data Capture#2測試

[SQL SERVER][CDC]SQL2008新特性-Change Data Capture#實作

 

這篇小弟就來測試CDC是否可以正確擷取到有異動資料

 

enable CDC for the database

exec sys.sp_cdc_enable_db

 

確認是否開啟CDC(select name, is_cdc_enabled from sys.databases)

image 

 

開啟change tracking

image

 

確認TABLE是否開啟(select name, type, type_desc, is_tracked_by_cdc from sys.tables)

image

 

正確後會產生兩個SQL Agent jobs

image 到這裡已經啟用CDC

 

測試CDC

 

原有筆數

image

新增資料

insert dbo.GIAD (ADDRESS,CLIENT_ID,E_MAIL,FAX,PHONE,ZIP)

values('台北市','rico','rico@msn.com','23895858','23895858','220');

insert dbo.GIAD (ADDRESS,CLIENT_ID,E_MAIL,FAX,PHONE,ZIP)

values('台北縣','rico1','rico@msn.com','23895858','23895858','220');

insert dbo.GIAD (ADDRESS,CLIENT_ID,E_MAIL,FAX,PHONE,ZIP)

values('台中市','rico2','rico@msn.com','23895858','23895858','220');

insert dbo.GIAD (ADDRESS,CLIENT_ID,E_MAIL,FAX,PHONE,ZIP)

values('高雄市','rico3','rico@msn.com','23895858','23895858','220');

insert dbo.GIAD (ADDRESS,CLIENT_ID,E_MAIL,FAX,PHONE,ZIP)

values('高雄縣','rico4','rico@msn.com','23895858','23895858','220');

image

多了5筆

image

確認CDC是否有擷取

image

正常擷取到5筆資料(2:insert)

 

更新

image

image

(4:update)

 

刪除

image

image

image

(1:delete) 

結論:

小弟認為在啟用CDC的環境下,應該將寫入更新跟蹤表與原始表使用不同的filegroup並存放在不同的硬碟上,同時監控ldf成長大小以及速度,還有來源資料表資料量,當然有預算選擇RAID10來處理ldf檔案,該功能也提供你記錄異動DML另一種方法。