I have read that enabling Change Data Capture obviously has an impact on database performance. Would this performance loss only effect the tables that have CDC enabled or would it effect all actions across the database
In my situation I am using SSIS and have a large amount of data moving into and out of a staging database. I also have some lookup tables in the system that are used for transforms. I am hoping to use CDC as a means to audit changes to these reference tables only (not the imported data). The major queries I run as part of the ETL access these reference tables but don't change them so I am trying to figure out if there will still be a noticeable performance hit?
Thanks
The answer to that question would be both yes and no.
No because
Untracked tables seem not to be not involved in tracking data.
Yes because
As the source of changes come from the transaction log, dissemination of the the changes requires the capture instances to read and interprete the transaction log (disclaimer: my interpretation of things). Merely enabling CDC has a performance impact on your entire database.
Recommendations
Conclusion
If your server currently has no problems keeping up with its load, I very much doubt you'll notice any performance problems enabling CDC for infrequent changed tables.
Sources