Validar los datos replicados
La réplica transaccional y la réplica 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:
- Sólo 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 presentado en Microsoft SQL Server 2000. Si el recuento de filas produce un error, la suma de comprobación no se lleva a cabo.
- Recuento de filas y suma de comprobación. Esta opción ya no se utiliza y sólo se debe utilizar para suscriptores que se ejecuten en Microsoft SQL Server versión 7.0. Utiliza el mismo enfoque que la validación de recuento de filas y suma de comprobación, pero emplea el algoritmo de suma de comprobación disponible en SQL Server versión 7.0. Para obtener más información, vea la sección "Cómo funciona la validación de datos" en este tema.
Además de validar que los datos en el suscriptor y en el publicador coincidan, la réplica 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 u Objetos de administración de réplica (RMO). Debe utilizar procedimientos almacenados para validar artículos individuales en publicaciones transaccionales y de instantáneas.
- Microsoft SQL Server Management Studio: Cómo validar datos en el suscriptor (SQL Server Management Studio)
- Programación de la réplica con Transact-SQL: How to: Validate Data at the Subscriber (Replication Transact-SQL Programming)
- Programación con Objetos de administración de réplica (RMO): How to: Validate Data at the Subscriber (RMO Programming)
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 réplica no informa sobre las filas que han dado error). Estos mensajes se pueden ver en SQL Server Management Studio, en el Monitor de réplica y en las tablas del sistema de réplica. En los temas de procedimientos enumerados 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 réplica denominada Réplica: el suscriptor no ha superado la validación de datos para que se le notifique el error. Para obtener más información, vea Cómo configurar alertas de réplica 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 mediante tablediff (utilidad). Para obtener más información acerca de cómo usar esta utilidad, vea How to: Compare Replicated Tables for Differences (Replication Programming).
- Para obtener más información sobre la reinicialización, vea Reinicializar una suscripción.
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 réplica.
- La réplica sólo valida tablas; no valida si los artículos sólo 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).
- Los datos de las columnas text, ntext o image no se incluyen en los cálculos de la suma de comprobación.
- La validación mediante suma de comprobación binaria o suma de comprobación puede informar erróneamente sobre un fallo si los tipos de datos son diferentes en el suscriptor y en el publicador. Esto puede ocurrir si inicializa una suscripción manualmente y está utilizando diferentes tipos de datos en el suscriptor, o si utiliza las siguientes opciones de esquema para un artículo:
- Asignar tipos definidos por el usuario a tipos de datos base (opción de esquema 0x20)
- Asignar xml a ntext (opción de esquema 0x10000000)
- Asignar nvarchar(max) y varbinary(max) a tipos de datos compatibles con versiones anteriores de SQL Server (opción de esquema 0x20000000)
Para obtener más información acerca de las opciones de esquema, vea Publicar datos y objetos de base de datos.
- Las validaciones de suma de comprobación binaria y de suma de comprobación no son compatibles con suscripciones transformables en la réplica 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 se calcula otro valor para toda la tabla de suscripción, pero no se incluyen en los cálculos los datos de las columnas text, ntext o 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. Los suscriptores que se ejecutan en SQL Server versión 7.0 deben utilizar los algoritmos de suma de comprobación de la versión 7.0 de SQL Server, que genera valores CRC que son diferentes a los generados con SQL Server 2000 y posterior. Las rutinas de sumas de comprobación de SQL Server versión 7.0 no pueden 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).
Vea también
Conceptos
Prácticas recomendadas para la administración de réplica