Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Alterar captura de dados apenas para atualizações e exclusões


Eu usaria apenas um gatilho para capturar atualizações e exclusões.

Eu não acho que você possa dizer ao CDC em que DML prestar atenção, e acho que é um desperdício deixar o CDC gravar todas essas inserções apenas para excluí-las depois. Isso por si só é caro e a fragmentação que causará também causará problemas para quaisquer consultas executadas nas tabelas de captura (você terá muitas páginas quase vazias), bem como as estatísticas de trabalho terão que fazer constantemente manter as estatísticas atualizadas.

Você poderia colocar um gatilho em vez de inserir na tabela de captura, que simplesmente não faz nada, mas eu não tentei fazer isso nem para ver se é permitido, e certamente não sei qual impacto isso terá no Funções do CDC. Possivelmente vale a pena alguma investigação, mas minha resposta original ainda permanece, mesmo que esse hack funcione:basta usar um gatilho.