Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Managed Instance
Inicia um pedido de validação de artigo para cada artigo da publicação especificada. Este procedimento armazenado é executado no Publisher no banco de dados de publicação.
Transact-SQL convenções de sintaxe
Sintaxe
sys.sp_publication_validation
[ @publication = ] N'publication'
[ , [ @rowcount_only = ] rowcount_only ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Arguments
[ @publication = ] N'publicação'
O nome da publicação. @publication é sysname, sem padrão.
[ @rowcount_only = ] rowcount_only
Especifica se deve devolver apenas a contagem de linhas para a tabela. @rowcount_only é smallint, e pode ser um dos seguintes valores.
| valor | Descrição |
|---|---|
0 |
Realize um checksum compatível com SQL Server 7.0. Nota: Quando um artigo é filtrado horizontalmente, é realizada uma operação de contagem de linhas em vez de uma operação de soma de verificação. |
1 (padrão) |
Faz apenas uma verificação de contagem de linhas. |
2 |
Realize uma contagem de linhas e um checksum binário. |
[ @full_or_fast = ] full_or_fast
O método utilizado para calcular a contagem de linhas. @full_or_fast é minyint e pode ser um dos seguintes valores.
| valor | Descrição |
|---|---|
0 |
Faz a contagem total usando COUNT(*). |
1 |
Conta rápido a partir de sysindexes.rows. Contar linhas no sys.sysindexes é mais rápido do que contar linhas na tabela real. No entanto, como o sys.sysindexes é atualizado de forma preguiçosa, a contagem de linhas pode não ser precisa. |
2 (padrão) |
Faz contagem condicional de jejum tentando primeiro o método rápido. Se o método fast mostrar diferenças, reverte para o método completo. Se expected_rowcount for NULL e o procedimento armazenado estiverem a ser usados para obter o valor, é sempre usado um procedimento completo COUNT(*) . |
[ @shutdown_agent = ] shutdown_agent
Especifica se o Distribution Agent deve desligar-se 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 desliga. - Se
1, o agente de replicação desliga-se após a validação do último artigo.
@publisher [ = ] N'editor'
Especifica um Editor de Server que não seja SQL.
@publisher é sysname, com um padrão de NULL.
@publisher não deve ser usado ao pedir validação numa SQL Server Publisher.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Remarks
sp_publication_validation é usado na replicação transacional.
sp_publication_validation pode ser chamada a qualquer momento após a ativação dos artigos associados à publicação. O procedimento pode ser executado manualmente (uma única vez) ou como parte de um trabalho regularmente agendado que valida os dados.
Se a sua aplicação tiver Subscritores que atualizam imediatamente, sp_publication_validation pode detetar erros espúrios.
sp_publication_validationprimeiro calcula a contagem de linhas ou soma de verificação no Publisher e depois no Assinante. Como o gatilho de atualização imediata pode propagar uma atualização do Assinante para o Publisher após a contagem de linhas ou o checksum ser concluído no Publisher, mas antes de a contagem de linhas ou soma de verificação ser concluída no Assinante, os valores podem mudar. Para garantir que os valores no Subscritor e no Publisher não mudam durante a validação de uma publicação, pare o serviço Coordenador de Transações Distribuídas da Microsoft (MS DTC) no Publisher durante a validação.
Permissions
Apenas os membros do papel de servidor fixo de sysadmin ou do papel de base de dados fixa db_owner podem executar sp_publication_validation.