Compartilhar via


Comparar diferenças entre tabelas replicadas (programação de replicação)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

A validação de artigo é usada para determinar se os dados publicados em artigos de tabelas no Publicador e no Assinante não são idênticos, pois isso poderia indicar não convergência. Para obter mais informações, consulte Validar os dados replicados. Entretanto, a validação apenas retorna informações que passaram ou falharam e não fornece informação sobre qual é a diferença entre as tabelas de origem e de destino. O utilitário de prompt de comando tablediff retorna informações detalhadas sobre a diferença entre duas tabelas e pode até gerar um script Transact-SQL para fazer convergir a assinatura com os dados no Fornecedor.

Observação

O utilitário tablediff é compatível apenas com os servidores SQL Server.

Para comparar tabelas replicadas e encontrar diferenças usando tablediff

  1. No prompt de comando de qualquer servidor em uma topologia de replicação, execute o tablediff Utility. Especifique os seguintes parâmetros:

    • - sourceserver - nome do servidor no qual os dados são os corretos, normalmente o Publicador.

    • - sourcedatabase - nome do banco de dados que contém os dados corretos.

    • - sourcetable - nome da tabela de origem do artigo que é comparado.

    • (Opcional) - sourceschema - proprietário do esquema da tabela de origem, se não for o esquema padrão.

    • (Opcional) -sourceuser e -sourcepassword quando usar a Autenticação do SQL Server para se conectar ao Publicador.

      Importante

      Quando possível, use a Autenticação do Windows. Se você precisar usar a Autenticação do SQL Server, solicite aos usuários que insiram credenciais de segurança em runtime. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para impedir acesso não autorizado.

    • - destinationserver - nome do servidor no qual os dados estão sendo comparados, normalmente um Assinante.

    • - destinationdatabase - nome do banco de dados que é comparado.

    • - destinationtable - nome da tabela que é comparada.

    • (Opcional) - destinationschema - proprietário do esquema da tabela de destino, se não for o esquema padrão.

    • (Opcional) -destinationuser e -destinationpassword ao usar Autenticação do SQL Server para se conectar ao Assinante.

      Importante

      Quando possível, use a Autenticação do Windows. Se você precisar usar a Autenticação do SQL Server, solicite aos usuários que insiram credenciais de segurança em runtime. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para impedir acesso não autorizado.

    • (Opcional) Use - c para fazer uma comparação no nível de coluna.

    • (Opcional) Use - q para fazer uma rápida contagem somente de linhas e esquema.

    • (Opcional) Especifique um nome de arquivo e caminho para - o para a saída dos resultados em um arquivo.

    • (Opcional) Especifique uma tabela no banco de dados de assinatura para inserir resultados de - et. Se a tabela já existir, especifique - dt para cancelar primeiro a tabela.

    • (Opcional) Use -f para gerar um arquivo Transact-SQL para corrigir os dados no assinante para que correspondam aos dados do Fornecedor. Use -df para especificar o número de instruções Transact-SQL em cada arquivo.

    • (Opcional) Use - rc e - ri para especificar o número de horas para repetir uma operação e o intervalo de repetição.

    • (Opcional) Use - strict para impor uma comparação de esquema estrita entre tabelas de origem e destino.