Partilhar via


sp_article_validation (Transact-SQL)

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

Inicia uma solicitação de validação de dados para o artigo especificado. Esse procedimento armazenado é executado no Publicador no banco de dados de publicação e no Assinante, no banco de dados de assinatura.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_article_validation
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @rowcount_only = ] rowcount_only ]
    [ , [ @full_or_fast = ] full_or_fast ]
    [ , [ @shutdown_agent = ] shutdown_agent ]
    [ , [ @subscription_level = ] subscription_level ]
    [ , [ @reserved = ] reserved ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumentos

@publication [ = ] N'publicação'

O nome da publicação em que o artigo existe. @publication é sysname, sem padrão.

@article [ = ] N'artigo'

O nome do artigo a ser validado. @article é sysname, sem padrão.

@rowcount_only [ = ] rowcount_only

Especifica se apenas a contagem de linhas da tabela é retornada. @rowcount_only é smallint, com um padrão de 1.

  • Se 0, execute uma contagem de linhas e uma soma de verificação compatível com o SQL Server 7.0.
  • Se 1, execute apenas uma verificação de contagem de linhas.
  • Se 2, execute uma contagem de linhas e uma soma de verificação binária.

@full_or_fast [ = ] full_or_fast

O método usado para calcular a contagem de linhas. @full_or_fast é tinyint e pode ser um destes valores:

Valor Descrição
0 Executa a contagem completa usando COUNT(*).
1 Executa a contagem rápida de sysindexes.rows. A contagem de sysindexes linhas é mais rápida do que a contagem de linhas na tabela real. No entanto, sysindexes é atualizado preguiçosamente e a contagem de linhas pode não ser precisa.
2 (padrão) Executa a 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 full COUNT(*) sempre será usado.

@shutdown_agent [ = ] shutdown_agent

Especifica 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 0, o Distribution Agent não for desligado.
  • Se 1, o Agente de Distribuição será desligado depois que o artigo for validado.

@subscription_level [ = ] subscription_level

Especifica se a validação deve ou não ser escolhida por um conjunto de assinantes. @subscription_level é bit, com um padrão de 0.

  • Se 0, a validação for aplicada a todos os Assinantes.
  • Se 1, a validação é aplicada apenas a um subconjunto dos Assinantes especificados por chamadas para sp_marksubscriptionvalidation na transação aberta atual.

@reserved [ = ] reservado

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

@publisher [ = ] N'editor'

Especifica um Publicador não-SQL Server. @publisher é sysname, com um padrão de NULL.

@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_article_validation é usado na replicação transacional.

sp_article_validation faz com que as informações de validação sejam coletadas no artigo especificado e posta uma solicitação de validação no log de transações. Quando o Distribution Agent recebe essa solicitação, compara as informações de validação da solicitação com a tabela do Assinante. Os resultados da validação são exibidos no Replication Monitor e nos alertas do SQL Server Agent.

Permissões

Somente usuários com SELECT ALL permissões na tabela de origem para o artigo que está sendo validado podem executar sp_article_validation.