Cómo comparar tablas replicadas para buscar diferencias (programación de la replicación)

Para determinar si los datos publicados en los artículos de tabla del publicador y el suscriptor no son idénticos, lo que puede indicar una falta de convergencia, se usa la validación de artículos. Para obtener más información, vea Validar los datos replicados. La validación, sin embargo, sólo devuelve información sobre la existencia o no de diferencias, pero no indica las diferencias concretas entre las tablas de origen y destino. La utilidad de símbolo del sistema tablediff devuelve información detallada sobre las diferencias entre dos tablas y puede generar un script Transact-SQL para establecer la convergencia de la suscripción con los datos del publicador.

Nota

La utilidad tablediff sólo se admite en servidores SQL Server.

Para buscar diferencias en tablas replicarse con tablediff

  • En el símbolo del sistema de cualquier servidor incluido en una topología de replicación, ejecute la tablediff (utilidad). Especifique los parámetros siguientes:

    • -sourceserver: el nombre del servidor donde se sabe que los datos son correctos, normalmente el publicador.

    • -sourcedatabase: el nombre de la base de datos que contiene los datos correctos.

    • -sourcetable: el nombre de la tabla de origen del artículo que se compara.

    • (Opcional) -sourceschema: el propietario del esquema de la tabla de origen, si no se trata del esquema predeterminado.

    • (Opcional) -sourceuser y -sourcepassword si se usa la autenticación de SQL Server para conectar al publicador.

      Nota de seguridadNota de seguridad

      Siempre que sea posible, use la autenticación de Windows. Si debe usar la autenticación de SQL Server, pida a los usuarios que escriban las credenciales de seguridad en tiempo de ejecución. Si debe almacenar credenciales en un archivo de script, protéjalo para evitar el acceso no autorizado.

    • -destinationserver: el nombre del servidor en el que se comparan los datos, normalmente un suscriptor.

    • -destinationdatabase: el nombre de la base de datos que se compara.

    • -destinationtable: el nombre de la tabla que se compara.

    • (Opcional) -destinationschema: el propietario del esquema de la tabla de destino, si no se trata del esquema predeterminado.

    • (Opcional) -destinationuser y -destinationpassword si usa la autenticación de SQL Server para conectar al suscriptor.

      Nota de seguridadNota de seguridad

      Siempre que sea posible, use la autenticación de Windows. Si debe usar la autenticación de SQL Server, pida a los usuarios que escriban las credenciales de seguridad en tiempo de ejecución. Si debe almacenar credenciales en un archivo de script, protéjalo para evitar el acceso no autorizado.

    • (Opcional) Use -c para realizar una comparación de columna.

    • (Opcional) Use -q para realizar una comparación rápida sólo del esquema y de recuento de filas.

    • (Opcional) Especifique un nombre de archivo y una ruta de acceso en -o para generar los resultados en un archivo.

    • (Opcional) Especifique una tabla de la base de datos de suscripciones en la que insertar los resultados de -et. Si la tabla ya existe, especifique -dt para quitarla previamente.

    • (Opcional) Use -f para generar un archivo Transact-SQL y corregir los datos en el suscriptor de forma que coincidan con los datos en el publicador. Use -df para especificar el número de instrucciones Transact-SQL de cada archivo.

    • (Opcional) Use -rc y -ri para especificar el número de veces que se intentará una operación y el intervalo de reintento.

    • (Opcional) Use -strict para exigir la comparación estricta del esquema entre las tablas de origen y destino.