sp_replmonitorsubscriptionpendingcmds (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Restituisce informazioni sul numero di comandi in sospeso per una sottoscrizione di una pubblicazione transazionale e una stima approssimativa del tempo necessario per l'elaborazione di tali comandi. Questa stored procedure restituisce una riga per ogni sottoscrizione restituita. Questa stored procedure, utilizzata per il monitoraggio della replica, viene eseguita nel database di distribuzione del server di distribuzione.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @subscriber_db = ] 'subscriber_db'
, [ @subscription_type = ] subscription_type
, [ @subdb_version = ] subdb_version
Argomenti
[ @publisher = ] 'publisher'
Nome del server di pubblicazione. publisher è sysname, senza impostazione predefinita.
[ @publisher_db = ] 'publisher_db'
Nome del database pubblicato. publisher_db è sysname, senza impostazione predefinita.
[ @publication = ] 'publication'
Nome della pubblicazione. publication è sysname, senza impostazione predefinita.
[ @subscriber = ] 'subscriber'
Nome del Sottoscrittore. subscriber è sysname, senza impostazione predefinita.
[ @subscriber_db = ] 'subscriber_db'
Nome del database di sottoscrizione. subscriber_db è sysname, senza impostazione predefinita.
[ @subscription_type = ] subscription_type
Tipo di sottoscrizione subscription_type è int, senza valore predefinito e può essere uno di questi valori.
valore | Descrizione |
---|---|
0 |
Sottoscrizione push |
1 |
Sottoscrizione pull |
[ @subdb_version = ] subdb_version
Oggetto dbversion
del database di sottoscrizione. subdb_version è un parametro facoltativo di tipo int, con un valore predefinito pari a 0.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
pendingcmdcount |
int | Numero di comandi in sospeso per la sottoscrizione. |
estimatedprocesstime |
int | Stima del numero di secondi necessari per recapitare tutti i comandi in sospeso al sottoscrittore. |
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_replmonitorsubscriptionpendingcmds
viene usato con la replica transazionale.
Prima di SQL Server 2019 (15.x) CU17, sp_replmonitorsubscriptionpendingcmds
non era supportato con la replica peer-to-peer e restituiva un numero errato di comandi in sospeso quando veniva usata per eseguire query sulla topologia di replica peer-to-peer. In SQL Server 2019 (15.x) CU 17 è stato aggiunto il supporto per rendere sp_replmonitorsubscriptionpendingcmds
compatibile con le pubblicazioni peer-to-peer.
Tuttavia, anche con SQL Server 2019 (15.x) CU17 o versione successiva, sp_replmonitorsubscriptionpendingcmds
potrebbe segnalare un numero errato di comandi in sospeso quando viene usata con la replica peer-to-peer se la tabella MSrepl_originators
contiene una voce non aggiornata di una versione non corretta del database di sottoscrizione. Per risolvere il problema, eliminare tutte le voci non aggiornate da MSrepl_originators
o passare il corretto dbversion
del database di sottoscrizione quando si usa l'argomento subdb_version
per la sp_replmonitorsubscriptionpendingcmds
stored procedure.
Per informazioni dettagliate su come determinare dbversion
, vedere KB5017009 .
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin nel server di distribuzione o nei membri del ruolo predefinito del database db_owner nel database di distribuzione possono eseguire sp_replmonitorsubscriptionpendingcmds
. I membri dell'elenco di accesso alla pubblicazione per una pubblicazione che utilizza il database di distribuzione possono essere eseguiti sp_replmonitorsubscriptionpendingcmds
per restituire i comandi in sospeso per tale pubblicazione.