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.
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çãoQuando 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çãoPara 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çã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.