I am going to create history table which is populated by trigger (after insert, update, delete). As only 20% of the columns are going to be updated, I decided to log only the changed values – if the values are not changed, NULL
value is going to be used in the history table. For example:
The history table columns will be sparse
and I am going to save a lot of space versus ordinary implementation which is logging all data (this is due to my test and my bussness cases).
As I the SQL Server 2016 SP1 standard edition
supports Change Data Capture
I am wondering are their any pros/cons/differences between using it and trigger-based logging?
I have check few artciles (here and here) and cannot see what more Change Data Capture
can give me.
Best Answer
Given the choice between those two things, here's why I'd choose triggers: