sp_publication_validation (Transact-SQL)

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

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 publicador.

Convenções de sintaxe de 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 deve retornar apenas a contagem de linhas para a tabela. rowcount_only é smallint e pode ser um dos seguintes valores.

Valor Descrição
0 Execute uma soma de verificação compatível com o SQL Server 7.0.

Nota: Quando um artigo é filtrado horizontalmente, uma operação de contagem 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ção: para assinantes do SQL Server versão 7.0, somente uma validação de contagem de linhas é executada.

[ @full_or_fast = ] 'full_or_fast' É o método usado para calcular a contagem de linhas. full_or_fast é minúsculo e pode ser um dos seguintes valores.

Valor Descrição
0 Efetua contagem completa usando COUNT (*).
1 Faz contagem rápida de sysindexes.rows. Contar linhas em sys.sysindexes é muito mais rápido do que contar linhas na tabela real. No entanto, como sys.sysindexes é atualizado preguiçosamente, a contagem de linhas pode não ser precisa.
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, um COUNT(*) completo será sempre usado.

[ @shutdown_agent = ] 'shutdown_agent' É se o Agente de Distribuição deve ser desligado imediatamente após a conclusão da validação. shutdown_agent é bit, com um padrão de 0. Se 0, o agente de replicação não será desligado. Se 1, o agente de replicação será desligado após a validação do último artigo.

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

Observação

publisher não deve ser usado ao solicitar validação em um SQL Server Publisher.

Valores do código de retorno

0 (sucesso) ou 1 (fracasso)

Comentários

sp_publication_validation é usado na replicação transacional.

sp_publication_validation pode ser chamado a qualquer momento após a ativação dos artigos associados à publicação. 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 de atualização imediata, sp_publication_validation poderá detectar erros espúrios. sp_publication_validation primeiro calcula a contagem de linhas ou a soma de verificação no Publicador e, em seguida, 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.

Confira também

Validar dados no assinante
sp_article_validation (Transact-SQL)
sp_table_validation (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)