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
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.