Como validar os dados no Assinante (Programação Transact-SQL de replicação)

A replicação permite validar programaticamente se os dados no Assinante correspondem aos dados no Publicador por meio de procedimentos armazenados de replicação, nos quais os procedimentos usados dependem do tipo da topologia de replicação.

Para validar dados para todos os artigos em uma publicação transacional

  1. No Publicador do banco de dados de publicação, execute sp_publication_validation (Transact-SQL). Especifique @publication e um dos valores seguintes para @rowcount_only:

    • 1 - apenas verifica número de linhas (o padrão)

    • 2 - número de linhas e soma de verificação binária.

    ObservaçãoObservação

    Ao executar sp_publication_validation (Transact-SQL), o sp_article_validation (Transact-SQL) é executado para cada artigo na publicação. Para executar o sp_publication_validation (Transact-SQL) com êxito, é necessário ter permissões SELECT em todas as colunas nas tabelas base publicadas.

  2. (Opcional) Iniciar o Distribution Agent para cada assinatura se já não estiver em execução. Para obter mais informações, consulte Como sincronizar uma assinatura pull (Programação de replicação) e Como sincronizar uma assinatura push (Programação de replicação).

  3. Verifique a saída de agente para o resultado da validação. Para obter mais informações, consulte Validando os dados replicados.

Para validar dados para um único artigo em uma publicação transacional

  1. No Publicador do banco de dados de publicação, execute sp_article_validation (Transact-SQL). Especifique @publication, o nome do artigo para @article e um dos valores seguintes para @rowcount_only:

    • 1 - apenas verifica número de linhas (o padrão)

    • 2 - número de linhas e soma de verificação binária.

    ObservaçãoObservação

    Para executar o sp_article_validation (Transact-SQL) com êxito, é necessário ter permissões SELECT em todas as colunas na tabela base publicada.

  2. (Opcional) Iniciar o Distribution Agent para cada assinatura se já não estiver em execução. Para obter mais informações, consulte Como sincronizar uma assinatura pull (Programação de replicação) e Como sincronizar uma assinatura push (Programação de replicação).

  3. Verifique a saída de agente para o resultado da validação. Para obter mais informações, consulte Validando os dados replicados.

Para validar dados de um único assinante para uma publicação transacional

  1. No Publicador do banco de dados de publicação, abra uma transação explícita usando BEGIN TRANSACTION (Transact-SQL).

  2. No Publicador do banco de dados de publicação, execute sp_marksubscriptionvalidation (Transact-SQL). Especifique a publicação como @publication, o nome do Assinante como @subscriber, e o nome do banco de dados da assinatura como @destination_db.

  3. (Opcional) Repita a etapa 2 para cada assinatura que é validada.

  4. No Publicador do banco de dados de publicação, execute sp_article_validation (Transact-SQL). Especifique @publication, o nome do artigo como @article e um dos valores seguintes como @rowcount_only:

    • 1 - apenas verifica número de linhas (o padrão)

    • 2 - número de linhas e soma de verificação binária.

    ObservaçãoObservação

    Para executar o sp_article_validation (Transact-SQL) com êxito, é necessário ter permissões SELECT em todas as colunas na tabela base publicada.

  5. No Publicador do banco de dados de publicação, confirme a transação usando COMMIT TRANSACTION (Transact-SQL).

  6. (Opcional) Repita as etapas 1 a 5 para cada artigo que é validado.

  7. (Opcional) Iniciar o Distribution Agent se já não estiver em execução. Para obter mais informações, consulte Como sincronizar uma assinatura pull (Programação de replicação) e Como sincronizar uma assinatura push (Programação de replicação).

  8. Verifique a saída de agente para o resultado da validação. Para obter mais informações, consulte Como validar dados no Assinante (SQL Server Management Studio).

Para validar dados em todas as assinaturas para uma publicação de mesclagem

  1. No Publicador do banco de dados de publicação, execute sp_validatemergepublication (Transact-SQL). Especifique @publication e um dos valores a seguir para @level:

    • 1 - apenas validação de número de linhas.

    • 3 - validação de soma de verificação binária de número de linhas.

    Isso marca todas as assinaturas para validação.

  2. Inicie o agente de mesclagem para cada assinatura. Para obter mais informações, consulte Como sincronizar uma assinatura pull (Programação de replicação) e Como sincronizar uma assinatura push (Programação de replicação).

  3. Verifique a saída de agente para o resultado da validação. Para obter mais informações, consulte Como validar dados no Assinante (SQL Server Management Studio).

Para validar dados nas assinaturas selecionadas para uma publicação de mesclagem

  1. No Publicador do banco de dados de publicação, execute sp_validatemergesubscription (Transact-SQL). Especifique @publication, o nome do Assinante como @subscriber, o nome do banco de dados de assinatura como @subscriber_db, e um dos seguintes valores para @level:

    • 1 - apenas validação de número de linhas.

    • 3 - validação de soma de verificação binária de número de linhas.

    Isso marca a assinatura selecionada para validação.

  2. Inicie o agente de mesclagem para cada assinatura. Para obter mais informações, consulte Como sincronizar uma assinatura pull (Programação de replicação) e Como sincronizar uma assinatura push (Programação de replicação).

  3. Verifique a saída de agente para o resultado da validação.

  4. Repita as etapas 1 a 3 para cada assinatura que é validada.

ObservaçãoObservação

A assinatura para uma publicação de mesclagem também pode ser validada especificando-se o parâmetro -Validate ao executar o Replication Merge Agent.

Para validar dados em uma assinatura usando parâmetros do Merge Agent

Consulte também

Referência

Conceitos