sp_publication_validation (Transact-SQL)
Aplica-se a: SQL Server Instâ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 = ] N'publication'
[ , [ @rowcount_only = ] rowcount_only ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Argumentos
@publication [ = ] N'publicação'
O nome da publicação. @publication é sysname, sem padrão.
@rowcount_only [ = ] rowcount_only
Especifica 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. |
@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 |
A contagem total usando COUNT(*) . |
1 |
O jejum conta a partir de sysindexes.rows . A contagem de linhas em sys.sysindexes é 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 full COUNT(*) sempre será usado. |
@shutdown_agent [ = ] shutdown_agent
Especifica se o Distribution Agent 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 for desligado. - Se
1
, o agente de replicação será desligado depois que o último artigo for validado.
@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_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
o 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, interrompa 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
o .