sql >> Base de Datos >  >> RDS >> Sqlserver

Cambiar la captura de datos solo para actualizaciones y eliminaciones

Simplemente usaría un disparador para capturar actualizaciones y eliminaciones.

No creo que pueda decirle a CDC a qué DML debe prestar atención, y creo que es un desperdicio dejar que CDC grabe todas estas inserciones solo para eliminarlas después. Eso en sí mismo es costoso y la fragmentación que causará también causará problemas para cualquier consulta que ejecute en las tablas de captura (tendrá muchas páginas en su mayoría vacías), así como las estadísticas de trabajo tendrán que hacer para constantemente mantener las estadísticas actualizadas.

Posiblemente podría poner un disparador en lugar de insertar en la tabla de captura, que simplemente no hace nada, pero no he intentado hacer esto para ver si está permitido, y ciertamente no sé qué impacto tendrá en el Funciones CDC. Posiblemente valga la pena investigar un poco, pero mi respuesta original sigue en pie incluso si este truco funciona:solo usa un disparador.