Validar los 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:

  • 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. 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 u Objetos de administración de replicación (RMO). 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 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:

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 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).

  • La validación de replicación usa las funciones CHECKSUM y BINARY_CHECKSUM.

  • 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. Para obtener más información acerca de la asignación de tipos de datos, vea Usar varias versiones de SQL Server en una topología de replicación.

    • Establecer el nivel de compatibilidad de la publicación de una publicación de mezcla 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. Para obtener más información acerca de la asignación de tipos de datos y el nivel de compatibilidad de la publicación, vea Usar varias versiones de SQL Server en una topología de replicació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.