Partilhar via


sp_publication_validation (Transact-SQL)

Inicia uma solicitação de validação de artigo para cada artigo na publicação especificada. Esse procedimento armazenado é executado no Publicador, no banco de dados de publicação.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_publication_validation [ @publication = ] 'publication'
    [ , [ @rowcount_only = ] type_of_check_requested ]
    [ , [ @full_or_fast = ] full_or_fast ]
    [ , [ @shutdown_agent = ] shutdown_agent ]
    [ , [ @publisher = ] 'publisher' ]

Argumentos

  • [@publication=] **'**publication'
    É o nome da publicação. publication é sysname, sem padrão.

  • [@rowcount_only=] rowcount_only
    Se apenas o número de linhas deve ou não ser retornado à tabela.rowcount_only é smallint e pode ser um dos valores a seguir.

    Valor

    Descrição

    0

    Execute uma soma de verificação SQL Server 7.0 compatível.

    ObservaçãoObservação
    Quando um artigo é filtrado horizontalmente, uma operação de número de linhas é executada em vez de uma operação de soma de verificação.

    1 (padrão)

    Só execute uma verificação de número de linhas.

    2

    Execute uma verificação de número de linhas e soma de verificação binária.

    ObservaçãoObservação
    Para os Assinantes do SQL Server versão 7.0 , só uma validação de número de linhas é executada.
  • [@full_or_fast=] full_or_fast
    É o método usado para calcular o número de linhas. full_or_fast é tinyint e pode ser um dos valores a seguir.

    Valor

    Descrição

    0

    Efetua contagem completa usando COUNT (*).

    1

    Efetua contagem rápida de sysindexes.rows. A contagem de linhas em sys.sysindexes é muito mais rápida do que contar linhas na tabela atual. No entanto, como sys.sysindexes é atualizado com lentidão, o número de linhas pode não ser preciso.

    2 (padrão)

    Efetua contagem rápida condicional tentando primeiro o método rápido. Se o método rápido mostrar diferenças, reverterá ao método completo. Se expected_rowcount for NULL e o procedimento armazenado estiver sendo usado para obter o valor, uma COUNT(*) completa sempre será usada.

  • [ @shutdown_agent=] shutdown_agent
    Se o Distribution Agent deve ou não ser desligado imediatamente após a conclusão da validação. shutdown_agent é bit, com um padrão de 0. Se for 0, o agente de replicação não desligará. Se for 1, o agente de replicação desligará após a validação do último artigo.

  • [ @publisher = ] 'publisher'
    Especifica um Publicador não-SQL Server. publisher é sysname, com um padrão de NULL.

    ObservaçãoObservação

    publisher não deve ser usado na solicitação de validação em um Publicador SQL Server.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_publication_validation é usado em replicação transacional.

sp_publication_validation pode ser chamado a qualquer momento depois que os artigos associados à publicação tiverem sido ativados. O procedimento pode ser executado manualmente (uma vez) ou como parte de um trabalho agendado regularmente que valida a data.

Se seu aplicativo tiver Assinantes com atualização imediata, sp_publication_validation pode detectar erros falsos. sp_publication_validation primeiro calcula o número de linhas ou a soma de verificação no Publicador e depois no Assinante. Como o gatilho de atualização imediata pode propagar e atualizar do Assinante para o Publicador após a conclusão do número de linhas ou da soma de verificação no Publicador, mas antes que o número de linhas ou a soma de verificação estejam concluídos no Assinante, os valores podem alterar. Para garantir que os valores no Assinante e no Publicador não sejam alterados durante a validação de uma publicação, pare o serviço MS DTC (Coordenador de Transações Distribuídas da Microsoft) no Publicador durante a validação.

Permissões

Somente membros da função de servidor fixa sysadmin ou da função de banco de dados fixa db_owner podem executar sp_publication_validation.