Comparar la captura de datos modificados y el seguimiento de cambios

SQL Server 2008 incluye dos características de seguimiento que permiten a las aplicaciones determinar los cambios del DML (operaciones de inserción, actualización y eliminación) que se realizaron en las tablas de usuario de una base de datos. Antes de que estas características estuvieran disponibles, se tenían que implementar mecanismos de seguimiento personalizados en las aplicaciones. Estos mecanismos personalizados a menudo requerían cambios del esquema para la tabla sometida a seguimiento o el uso de desencadenadores. Ni la captura de datos modificados ni el seguimiento de cambios requiere cambios del esquema en el origen ni el uso de desencadenadores.

Captura de datos modificados

La captura de datos modificados proporciona información de los cambios históricos para una tabla de usuario captando tanto el hecho de que se realizaran cambios del DML como los datos reales que se cambiaron. Los cambios se capturan con un proceso asincrónico que lee el registro de transacciones y tiene poca repercusión en el sistema.

Como se muestra en la ilustración siguiente, los cambios que se realizaron en las tablas de usuario se capturan en las tablas de cambios correspondientes. Estas tablas de cambios proporcionan una vista histórica de los cambios con el tiempo. Las funciones de captura de datos modificados que SQL Server proporciona permiten consumir los datos modificados con facilidad y sistemáticamente.

Ilustración conceptual de la captura de datos modificados

Seguimiento de cambios

El seguimiento de cambios captura el hecho de que las filas de una tabla cambiaran, pero no los datos que se modificaron. Esto permite a las aplicaciones determinar las filas que han cambiado con los datos de las filas más recientes obtenidos directamente de las tablas de usuario. Por consiguiente, el seguimiento de cambios está más limitado en las cuestiones históricas que puede responder en comparación con la captura de datos modificados. Sin embargo, para las aplicaciones que no requieren información histórica, hay mucha menos sobrecarga de almacenamiento debido a que los datos modificados no se están capturando. Se utiliza un mecanismo de seguimiento sincrónico para realizar el seguimiento de los cambios. Se ha diseñado de modo que suponga una sobrecarga mínima para las operaciones DML.

La ilustración siguiente ilustra un escenario de sincronización que se beneficiaría del uso del seguimiento de cambios. En este escenario, una aplicación requiere la información siguiente: todas las filas de la tabla que se cambiaron desde la última vez que la tabla se sincronizó y sólo los datos de las filas actuales. Dado que para realizar el seguimiento de los cambios se utiliza un mecanismo sincrónico, una aplicación puede realizar una sincronización bidireccional y detectar de forma confiable cualquier conflicto que pudiera haberse producido.

Ilustración conceptual del seguimiento de cambios

Diferencias de características entre la captura de datos modificados y el seguimiento de cambios

La tabla siguiente enumera las diferencias de características entre la captura de datos modificados y el seguimiento de cambios. El mecanismo de seguimiento de la captura de datos modificados implica una captura asincrónica de los cambios del registro de transacciones para que estén disponibles después de la operación DML. En el seguimiento de cambios, el mecanismo de seguimiento implica el seguimiento sincrónico de los cambios a la vez que las operaciones DML de modo que la información de los cambios esté disponible inmediatamente.

Característica

Captura de datos modificados

Seguimiento de cambios

Cambios sometidos a seguimiento

 

 

Cambios del DML

Información sometida a seguimiento

 

 

Datos históricos

No

Si la columna cambió

Tipo DML

Vea también

Conceptos

Otros recursos