Como comparar tabelas replicadas para descobrir diferenças (Programação de Replicação)
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 Validando 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 as duas tabelas e pode até gerar um script Transact-SQL para fazer convergir a assinatura com os dados no Publicador.
Observação |
---|
O utilitário tablediff dá suporte apenas para os servidores SQL Server. |
Para comparar tabelas replicadas e encontrar diferenças usando tablediff
No prompt de comando de qualquer servidor em uma topologia de replicação, execute o Utilitário tablediff. 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.
Observação sobre segurança Quando possível, use a Autenticação do Windows. Se você deve usar Autenticação do SQL Server, solicite aos usuários para entrar com credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para evitar o 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 conectar ao Assinante.
Observação sobre segurança Quando possível, use a Autenticação do Windows. Se você precisa usar Autenticação do SQL Server, solicite aos usuários para entrar com credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para evitar o 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 e corresponderem aos dados do Publicador. 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.