Validar datos replicados
La replicación transaccional y la replicación de mezcla le permiten validar que los datos del suscriptor coinciden con los del publicador. Es posible realizar la validación de determinadas suscripciones o de todas las suscripciones a una publicación. Especifique uno de los siguientes tipos de validación y el Agente de distribución o el Agente de mezcla validarán los datos la próxima vez que se ejecuten:
Solo de número de filas. Esta opción valida si la tabla del suscriptor tiene las mismas filas que la tabla del publicador pero no valida la coincidencia del contenido de las filas. La validación del número de filas proporciona una idea de la validación que puede ponerle al corriente de problemas con los datos.
Recuento de filas y suma de comprobación binaria. Además de llevar a cabo un recuento de filas en el publicador y en el suscriptor, se calcula una suma de comprobación de todos los datos utilizando el algoritmo de suma de comprobación. Si el número de filas da un error, no se lleva a cabo la suma de comprobación.
Además de validar que los datos en el suscriptor y en el publicador coincidan, la replicación de mezcla ofrece la posibilidad de validar que los datos presenten las particiones correctas para cada suscriptor. Para obtener más información, vea Validar la información de particiones para un suscriptor de mezcla.
Para validar los datos
Para validar todos los artículos de una suscripción, utilice SQL Server Management Studio, procedimientos almacenados o Replication Management Objects (RMO). Para obtener más información, vea Validar datos en el suscriptor. Debe utilizar procedimientos almacenados para validar artículos individuales en publicaciones transaccionales y de instantáneas.
Resultados de la validación de datos
Cuando la validación se ha completado, el Agente de distribución o el Agente de mezcla registran mensajes sobre si ha sido correcta o se han producido errores (la replicación no informa sobre las filas que han dado error). Estos mensajes se pueden ver en SQL Server Management Studio, en el Monitor de replicación y en las tablas del sistema de replicación. En el tema de procedimientos indicado anteriormente se explica cómo ejecutar la validación y ver los resultados.
Para controlar errores de validación, tenga en cuenta lo siguiente:
Configure la alerta de replicación Replicación: el suscriptor no ha superado la validación de datos para recibir una notificación del error. Para obtener más información, vea Configurar alertas de replicación predefinidas (SQL Server Management Studio).
¿Son los errores de validación un problema para su aplicación? Si los errores de validación suponen un problema, actualice manualmente los datos para que se sincronicen o reinicialice la suscripción:
Los datos se pueden actualizar con la utilidad tablediff. Para obtener más información acerca de cómo usar esta utilidad, vea Comparar tablas replicadas para buscar diferencias (programación de la replicación).
Para obtener más información sobre la reinicialización, vea Reinicializar suscripciones.
Consideraciones sobre la validación de datos
Tenga en cuenta las siguientes cuestiones a la hora de validar los datos:
Debe detener todas las actividades de actualización en los suscriptores antes de validar los datos (no es necesario detener todas las actividades en el publicador durante la validación).
Dado que las sumas de comprobación y las sumas de comprobación binarias requieren grandes cantidades de recursos del procesador para validar un conjunto de datos de gran tamaño, debe programar la validación para que se produzca cuando la actividad sea mínima en los servidores que se utilizan en la replicación.
La replicación solo valida tablas; no valida si los artículos solo de esquema (como los procedimientos almacenados) son iguales en el publicador y en el suscriptor.
La suma de comprobación binaria se puede utilizar en cualquier tabla publicada. La suma de comprobación no puede validar tablas con filtros de columna ni estructuras de tabla lógicas donde los desplazamientos de columnas son distintos (debido a las instrucciones ALTER TABLE que quitan o agregan columnas).
La validación de replicación usa las funciones checksum y binary_checksum. Para obtener más información acerca de su comportamiento, vea CHECKSUM (Transact-SQL) y BINARY_CHECKSUM (Transact-SQL).
La validación mediante suma de comprobación binaria o suma de comprobación puede informar incorrectamente sobre un error si los tipos de datos son diferentes en el suscriptor y en el publicador. Esto se puede producir si lleva a cabo una de las siguientes acciones:
Establecer de forma explícita opciones del esquema para asignar tipos de datos de versiones anteriores de SQL Server.
Establecer el nivel de compatibilidad de la publicación de una publicación de combinación en una versión anterior de SQL Server, cuando las tablas publicadas contienen uno o más tipos de datos que se deben asignados a esta versión.
Inicializar de forma manual una suscripción, si usa diferentes tipos de datos en el suscriptor.
Las validaciones de suma de comprobación binaria y de suma de comprobación no son compatibles con suscripciones transformables en la replicación transaccional.
La validación no se admite para los datos replicados en suscriptores que no son de SQL Server.
Cómo funciona la validación de datos
SQL Server valida los datos calculando un recuento de filas o una suma de comprobación en el Publicador y, a continuación, compara estos valores con el recuento de filas o suma de comprobación calculado en el suscriptor. Se calcula un valor para toda la tabla de publicación y otro valor para toda la tabla de suscripción, pero en los cálculos no se incluyen los datos de las columnas text, ntext ni image.
Mientras se realizan los cálculos, se colocan bloqueos compartidos temporalmente en las tablas en las que se ejecutan los recuentos de filas y sumas de comprobación, pero los cálculos se completan rápidamente y los bloqueos compartidos se quitan normalmente en unos segundos.
Cuando se utilizan sumas de comprobación binarias, se produce una comprobación de redundancia cíclica (CRC) de 32 bits columna por columna en vez de una comprobación CRC en la fila física de la página de datos. Esto permite que las columnas de la tabla estén en cualquier orden físicamente en la página de datos, pero se calcula la misma comprobación CRC para la fila. Es posible utilizar la validación de suma de comprobación binaria cuando hay filtros de fila o de columna en la publicación.
Vea también
Conceptos
Prácticas recomendadas para la administración de replicación