sp_publication_validation (Transact-SQL)
Aplica-se a: Instância Gerenciada de SQL do Azure do SQL Server
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 da tabela. rowcount_only é smallint e pode ser um dos seguintes valores.
Valor | Descrição |
---|---|
0 | Execute uma soma de verificação compatível com SQL Server 7.0. Observação: 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 é tinyint e pode ser um dos seguintes valores.
Valor | Descrição |
---|---|
0 | Efetua contagem completa usando COUNT (*). |
1 | Faz contagem rápida de sysindexes.rows. A contagem de linhas em sys.sysindexes é muito mais rápida do que a contagem de linhas na tabela real. No entanto, como sys.sysindexes é atualizado lentamente, 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 sempre será usado. |
[ @shutdown_agent = ] 'shutdown_agent'
É se o Agente de Distribuição deve desligar 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 depois que o último artigo for validado.
[ @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 ao solicitar validação em um Publicador do SQL Server.
Valores do código de retorno
0 (sucesso) ou 1 (falha)
Comentários
sp_publication_validation é usado na replicação transacional.
sp_publication_validation podem ser chamados 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 o aplicativo tiver assinantes de atualização imediata, sp_publication_validation poderá detectar erros falsos. 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)