sys.sp_replmonitorsubscriptionpendingcmds (Transact-SQL)

Aplica-se a: SQL ServerAzure SQL Managed Instance

Devolve informações sobre o número de comandos pendentes para uma subscrição de uma publicação transacional e uma estimativa aproximada de quanto tempo demora a processá-los. Este procedimento armazenado devolve uma linha para cada subscrição devolvida. Esse procedimento armazenado, que é usado para monitorar a replicação, é executado no Distribuidor no banco de dados de distribuição.

Transact-SQL convenções de sintaxe

Syntax

sys.sp_replmonitorsubscriptionpendingcmds
    [ @publisher = ] N'publisher'
    , [ @publisher_db = ] N'publisher_db'
    , [ @publication = ] N'publication'
    , [ @subscriber = ] N'subscriber'
    , [ @subscriber_db = ] N'subscriber_db'
    , [ @subscription_type = ] subscription_type
    [ , [ @subdb_version = ] subdb_version ]
[ ; ]

Arguments

@publisher [ = ] N'editor'

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

[ @publisher_db = ] N'publisher_db'

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

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

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

[ @subscriber = ] N'assinante'

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

[ @subscriber_db = ] N'subscriber_db'

O nome da base de dados de subscrição. @subscriber_db é sysname, sem padrão.

[ @subscription_type = ] subscription_type

O tipo de subscrição. @subscription_type é int, sem padrão e pode ser um destes valores.

Value Description
0 Subscrição Push
1 Retirar subscrição

[ @subdb_version = ] subdb_version

O dbversion da base de dados de subscrição. @subdb_version é um parâmetro opcional do tipo int, com valor padrão de 0.

Conjunto de resultados

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

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

sp_replmonitorsubscriptionpendingcmds é usado com replicação transacional.

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

No entanto, mesmo com o SQL Server 2019 (15.x) CU17 ou posterior, sp_replmonitorsubscriptionpendingcmds pode reportar um número incorreto de comandos pendentes quando usado com replicação peer-to-peer se a tabela MSrepl_originators contiver uma entrada obsoleta de uma versão incorreta da base de dados por subscrição. Para corrigir o problema, pode apagar todas as entradas obsoletas ou MSrepl_originators passar o correto dbversion da base de dados de subscrição ao usar o subdb_version argumento para o sp_replmonitorsubscriptionpendingcmds procedimento armazenado.

Consulte KB5017009 para detalhes sobre como determinar dbversion.

Permissions

Apenas os membros do papel de servidor fixo sysadmin no Distribuidor ou os membros da db_owner função fixa de base de dados na base de dados de distribuição podem executar sp_replmonitorsubscriptionpendingcmds. Os membros da lista de acesso à publicação para uma publicação que utiliza a base de dados de distribuição podem executar sp_replmonitorsubscriptionpendingcmds para devolver comandos pendentes para essa publicação.