O CDC deve ser apenas um meio para um fim na minha opinião. Eu implementei soluções de trilha de auditoria no passado e elas envolveram o uso de Triggers. Isso deve ser muito confuso e intensivo em desempenho para bancos de dados altamente transacionais.
O que o CDC oferece é a capacidade de registrar os dados de auditoria sem o uso de gatilhos, mas você ainda precisa de um meio para colocar esses dados em uma tabela permanente. Isso pode ser feito com uma tabela espelhada para cada tabela a ser auditada ou uma única tabela que rastreia todas as alterações em todas as tabelas (eu fiz o último).
Aqui estão alguns links com informações adicionais sobre como isso foi feito usando acionadores:
Trilha de auditoria SQL
sql-server -history-table-populate-through-sp-or-trigger
Aqui está uma solução de rastreamento de auditoria de código aberto que usa LINQ:DoddleAudit