sp_replmonitorsubscriptionpendingcmds (Transact-SQL)

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

Retorna informações sobre o número de comandos pendentes de uma assinatura de publicação transacional e uma estimativa aproximada de quanto tempo é necessário para processá-las. Esse procedimento armazenado retorna uma linha para cada assinatura retornada. Esse procedimento armazenado, usado para monitorar a replicação, é executado no Distribuidor, no banco de dados de distribuição.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
    , [ @publisher_db = ] 'publisher_db'
    , [ @publication = ] 'publication'
    , [ @subscriber = ] 'subscriber'
    , [ @subscriber_db = ] 'subscriber_db'
    , [ @subscription_type = ] subscription_type
    , [ @subdb_version = ] subdb_version

Argumentos

@publisher [ = ] 'editora'

O nome do Editor. publisher é sysname, sem padrão.

@publisher_db [ = ] 'publisher_db'

O nome do banco de dados publicado. publisher_db é sysname, sem padrão.

@publication [ = ] 'publicação'

O nome da publicação. publication é sysname, sem padrão.

@subscriber [ = ] 'assinante'

O nome do Assinante. subscriber é sysname, sem padrão.

@subscriber_db [ = ] 'subscriber_db'

O nome do banco de dados de assinatura. subscriber_db é sysname, sem padrão.

@subscription_type [ = ] subscription_type

O tipo de assinatura. subscription_type é int, sem padrão e pode ser um desses valores.

Valor Descrição
0 Assinatura push.
1 Assinatura por pull

@subdb_version [ = ] subdb_version

O dbversion do banco de dados de assinatura. subdb_version é um parâmetro opcional do tipo int, com um valor padrão de 0.

Conjunto de resultados

Nome da coluna Tipo de dados Descrição
pendingcmdcount int O número de comandos pendentes para a assinatura.
estimatedprocesstime int Estimativa do número de segundos necessários para entregar todos os comandos pendentes ao assinante.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_replmonitorsubscriptionpendingcmds é usado com replicação transacional.

Antes do SQL Server 2019 (15.x) CU17, sp_replmonitorsubscriptionpendingcmds não havia suporte com replicação ponto a ponto e retornava um número incorreto de comandos pendentes quando usado para consultar a topologia de replicação ponto a ponto. No SQL Server 2019 (15.x) 17, o suporte foi adicionado para tornar sp_replmonitorsubscriptionpendingcmds compatível com publicações ponto a ponto.

No entanto, mesmo com o SQL Server 2019 (15.x) CU17 ou posterior, sp_replmonitorsubscriptionpendingcmds pode relatar um número incorreto de comandos pendentes quando usado com replicação ponto a ponto se a tabela MSrepl_originators contiver uma entrada obsoleta de uma versão incorreta do banco de dados de assinatura. Para corrigir o problema, exclua todas as entradas obsoletas de ou passe o correto dbversion do banco de dados de MSrepl_originators assinatura ao usar o argumento para o subdb_versionsp_replmonitorsubscriptionpendingcmds procedimento armazenado.

Consulte KB5017009 para obter detalhes sobre como determinar dbversiono .

Permissões

Somente membros da função de servidor fixa sysadmin no Distribuidor ou membros da função de banco de dados fixa db_owner no banco de dados de distribuição podem executar sp_replmonitorsubscriptionpendingcmds. Os membros da lista de acesso à publicação de uma publicação que usa o banco de dados de distribuição podem executar sp_replmonitorsubscriptionpendingcmds para retornar comandos pendentes para essa publicação.