這篇小弟就來測試CDC是否可以正確擷取到有異動資料
enable CDC for the database
exec sys.sp_cdc_enable_db
確認是否開啟CDC(select name, is_cdc_enabled from sys.databases)
開啟change tracking
確認TABLE是否開啟(select name, type, type_desc, is_tracked_by_cdc from sys.tables)
正確後會產生兩個SQL Agent jobs
到這裡已經啟用CDC
測試CDC
原有筆數
新增資料
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');
多了5筆
確認CDC是否有擷取
正常擷取到5筆資料(2:insert)
更新
(4:update)
刪除
(1:delete)
結論:
小弟認為在啟用CDC的環境下,應該將寫入更新跟蹤表與原始表使用不同的filegroup並存放在不同的硬碟上,同時監控ldf成長大小以及速度,還有來源資料表資料量,當然有預算選擇RAID10來處理ldf檔案,該功能也提供你記錄異動DML另一種方法。