Compare diferenças entre tabelas replicadas (Programação de Replicação)

Aplica-se a: SQL ServerAzure SQL Managed Instance

A validação de artigos é usada para determinar se os dados publicados para artigos de tabela no Publisher e no Subscriber não são idênticos, o que pode indicar não convergência. Para mais informações, consulte Validar Dados Replicados. No entanto, a validação apenas devolve informações de aprovação ou falha e não fornece qualquer informação sobre o que é diferente entre as tabelas de origem e destino. O utilitário de linha de comandos tablediff devolve informações detalhadas sobre as diferenças entre duas tabelas e pode até gerar um script Transact-SQL para colocar uma subscrição em convergência com os dados no Publicador.

Note

A utilidade tablediff é suportada apenas para servidores SQL Server.

Para comparar tabelas replicadas para diferenças usando o tablediff

  1. A partir do prompt de comandos em qualquer servidor numa topologia de replicação, execute a utilitária tablediff. Especifique os parâmetros seguintes:

    • -sourceserver - nome do servidor onde se sabe que os dados estão corretos, normalmente o Publisher.

    • -sourcedatabase - nome da base de dados que contém os dados corretos.

    • -sourcetable - Nome da tabela de fontes do artigo a comparar.

    • (Opcional) -sourceschema - esquema da tabela de origem, se não for o esquema predefinido.

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

      Importante

      Quando possível, use a Autenticação do Windows. Se tiver de usar a Autenticação SQL Server, peça aos utilizadores para inserirem credenciais de segurança em tempo de execução. Se você precisar armazenar credenciais em um arquivo de script, deverá proteger o arquivo para impedir o acesso não autorizado.

    • -destinationserver - nome do servidor no qual os dados estão a ser comparados, normalmente um subscritor.

    • -destinationdatabase - nome da base de dados que está a ser comparada.

    • -Destinationtable - Nome da tabela que se está a comparar.

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

    • (Opcional) -destinationuser e -destinationpassword quando utiliza a autenticação do SQL Server para estabelecer ligação ao Assinante.

      Importante

      Quando possível, use a Autenticação do Windows. Se tiver de usar a Autenticação SQL Server, peça aos utilizadores para inserirem credenciais de segurança em tempo de execução. Se você precisar armazenar credenciais em um arquivo de script, deverá proteger o arquivo para impedir o acesso não autorizado.

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

    • (Opcional) Use -q para fazer uma comparação rápida, apenas com contagem de linhas e esquema.

    • (Opcional) Especifique um nome e caminho de ficheiro para -o guardar os resultados num ficheiro.

    • (Opcional) Especifique uma tabela na base de dados de subscrição onde inserir os resultados para -et. Se a tabela já existir, especifique -dt para primeiro eliminar a tabela.

    • (Opcional) Use -f para gerar um ficheiro Transact-SQL que fixe os dados no Assinante, de modo a que correspondam aos dados do Publisher. Use -df para especificar o número de instruções Transact-SQL em cada ficheiro.

    • (Opcional) Use -rc e -ri para especificar o número de vezes a tentar novamente uma operação e o intervalo de tentativa.

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