I would recommend to script a loop or cursor to enable this on all of your databases and tables. It will capture all of the columns automatically. [Example of loop CDC][1] Note: As always with code on the internet, evaluate cautiously and promote through personal and dev environments prior to production. >By default, all of the columns in the source table are identified as captured columns. If only a subset of columns need to be tracked, such as for privacy or performance reasons, use the @captured_column_list parameter to specify the subset of columns. [CDC Configuration MSDN][2] I think it would be better to run SQL Profiler though to catch the code that is running and re-create it that way however. CDC will show you the end results, not how it gets from A to C. [1]: http://myhumblesqltips.blogspot.com/2012/10/implementing-change-data-capture.html [2]: https://technet.microsoft.com/en-us/library/cc627369(v=sql.105).aspx