sp_replmonitorhelpsubscription (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Restituisce informazioni sullo stato corrente delle sottoscrizioni appartenenti a una o più pubblicazioni nel server di pubblicazione e 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_replmonitorhelpsubscription
[ [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @publication = ] N'publication' ]
[ , [ @publication_type = ] publication_type ]
[ , [ @mode = ] mode ]
[ , [ @topnum = ] topnum ]
[ , [ @exclude_anonymous = ] exclude_anonymous ]
[ , [ @refreshpolicy = ] refreshpolicy ]
[ ; ]
Argomenti
[ @publisher = ] N'publisher'
Nome del server di pubblicazione di cui viene monitorato lo stato. @publisher è sysname, con un valore predefinito .NULL
Se null, vengono restituite informazioni per tutti i server di pubblicazione che utilizzano il server di distribuzione.
[ @publisher_db = ] N'publisher_db'
Nome del database pubblicato. @publisher_db è sysname, con il valore predefinito NULL
. Se NULL
, le informazioni vengono restituite per tutti i database pubblicati nel server di pubblicazione.
[ @publication = ] N'publication'
Nome della pubblicazione monitorata. @publication è sysname, con il valore predefinito NULL
.
[ @publication_type = ] publication_type
Tipo di pubblicazione. @publication_type è int e può essere uno di questi valori.
valore | Descrizione |
---|---|
0 |
Pubblicazione transazionale. |
1 |
Pubblicazione snapshot. |
2 |
Pubblicazione di tipo merge. |
NULL (predefinito) |
La replica tenta di determinare il tipo di pubblicazione. |
[ @mode = ] modalità
Modalità di filtro da usare per la restituzione delle informazioni di monitoraggio delle sottoscrizioni. @mode è int e può essere uno di questi valori.
valore | Descrizione |
---|---|
0 (predefinito) |
Restituisce tutte le sottoscrizioni. |
1 |
Restituisce solo le sottoscrizioni con errori. |
2 |
Restituisce solo le sottoscrizioni che generano avvisi delle metriche di soglia. |
3 |
Restituisce solo le sottoscrizioni che presentano errori o generano avvisi delle metriche di soglia. |
4 |
Restituisce le prime 25 sottoscrizioni con prestazioni peggiori. |
5 |
Restituisce le 50 sottoscrizioni con le prestazioni peggiori. |
6 |
Restituisce solo le sottoscrizioni in fase di sincronizzazione. |
7 |
Restituisce solo le sottoscrizioni che non sono attualmente sincronizzate. |
[ @topnum = ] topnum
Limita il set di risultati al numero specificato di sottoscrizioni all'inizio dei dati restituiti. @topnum è int, con un valore predefinito .NULL
[ @exclude_anonymous = ] exclude_anonymous
Se le sottoscrizioni pull anonime vengono escluse dal set di risultati. @exclude_anonymous è bit, con un valore predefinito .0
- Il valore
1
indica che le sottoscrizioni anonime vengono escluse. - Un valore indica
0
che sono inclusi.
[ @refreshpolicy = ] refreshpolicy
Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
status |
int | Analizza lo stato di tutti gli agenti di replica associati alla pubblicazione e restituisce lo stato più elevato trovato nell'ordine seguente:6 = Non riuscito5 = Ripetizione dei tentativi2 = Arrestato4 = Inattiva3 = In corso1 = Avviato |
warning |
int | Avviso correlato alla soglia massima generato da una sottoscrizione appartenente alla pubblicazione. Può essere il risultato OR logico di uno o più dei valori seguenti.1 = expiration : una sottoscrizione a una pubblicazione transazionale non è sincronizzata entro la soglia del periodo di conservazione.2 = latency : il tempo impiegato per replicare i dati da un server di pubblicazione transazionale al Sottoscrittore supera la soglia, in secondi.4 = mergeexpiration : una sottoscrizione a una pubblicazione di tipo merge non è sincronizzata entro la soglia del periodo di conservazione.8 = mergefastrunduration : il tempo impiegato per completare la sincronizzazione di una sottoscrizione di tipo merge supera la soglia, in secondi, in una connessione di rete veloce.16 = mergeslowrunduration - Il tempo impiegato per completare la sincronizzazione di una sottoscrizione di tipo merge supera la soglia, in secondi, in una connessione di rete lenta.32 = mergefastrunspeed : la frequenza di recapito per le righe durante la sincronizzazione di una sottoscrizione di tipo merge non è riuscita a mantenere la frequenza di soglia, in righe al secondo, su una connessione di rete veloce.64 = mergeslowrunspeed - La frequenza di recapito per le righe durante la sincronizzazione di una sottoscrizione di tipo merge non è riuscita a mantenere la frequenza di soglia, in righe al secondo, su una connessione di rete lenta. |
subscriber |
sysname | Nome del Sottoscrittore. |
subscriber_db |
sysname | Nome del database utilizzato per la sottoscrizione. |
publisher_db |
sysname | Nome del database di pubblicazione. |
publication |
sysname | Nome di una pubblicazione. |
publication_type |
int | Tipo di pubblicazione. I possibili valori sono i seguenti.0 = Pubblicazione transazionale1 = Pubblicazione snapshot2 = Pubblicazione di tipo merge |
subtype |
int | Tipo di sottoscrizione, che può essere uno dei valori seguenti:0 = Push1 = Pull2 = Anonimo |
latency |
int | Latenza più alta, espressa in secondi, per le modifiche dei dati propagate dall'agente di lettura log o dagli agenti di distribuzione per una pubblicazione transazionale. |
latencythreshold |
int | Latenza massima per la pubblicazione transazionale, sopra la quale viene generato un avviso. |
agentnotrunning |
int | Periodo di tempo, espresso in ore, durante il quale l'agente non è in esecuzione. |
agentnotrunningthreshold |
int | Periodo di tempo, espresso in ore, che l'agente non è stato eseguito prima che venga generato un avviso. |
timetoexpiration |
int | Periodo di tempo, espresso in ore, prima della scadenza della sottoscrizione, se non sincronizzato. |
expirationthreshold |
int | Tempo, espresso in ore, prima della scadenza della sottoscrizione in cui viene generato un avviso. |
last_distsync |
datetime | Data/ora dell'ultima esecuzione del agente di distribuzione. |
distribution_agentname |
sysname | Nome del processo di agente di distribuzione per la sottoscrizione a una pubblicazione transazionale. |
mergeagentname |
sysname | Nome del processo di agente di merge per la sottoscrizione di una pubblicazione di tipo merge. |
mergesubscriptionfriendlyname |
sysname | Nome descrittivo assegnato alla sottoscrizione. |
mergeagentlocation |
sysname | Nome del server in cui viene eseguito il agente di merge. |
mergeconnectiontype |
int | Connessione utilizzata per la sincronizzazione di una sottoscrizione di una pubblicazione di tipo merge. I possibili valori sono i seguenti:1 = rete locale (LAN)2 = connessione di rete remota3 = Sincronizzazione Web. |
mergePerformance |
int | Prestazioni dell'ultima sincronizzazione confrontate con tutte le sincronizzazioni per la sottoscrizione, ottenute dividendo la velocità di recapito dell'ultima sincronizzazione per la media di tutte le velocità di recapito precedenti. |
mergerunspeed |
float | Frequenza di recapito dell'ultima sincronizzazione per la sottoscrizione. |
mergerunduration |
int | Periodo di tempo per completare l'ultima sincronizzazione della sottoscrizione. |
monitorranking |
int | Il valore di classificazione usato per ordinare le sottoscrizioni nel set di risultati e può essere uno di questi valori: Per una pubblicazione transazionale: 60 = Errore56 = Avviso: prestazioni critiche52 = Avviso: scadenza imminente o scaduta50 = Avviso: sottoscrizione non inizializzata40 = Comando non riuscito per la ripetizione dei tentativi30 = Non in esecuzione (operazione riuscita)20 = In esecuzione (avvio, esecuzione o inattività)Per una pubblicazione di tipo merge: 60 = Errore56 = Avviso: prestazioni critiche54 = Avviso: merge a esecuzione prolungata52 = Avviso: scadenza imminente50 = Avviso: sottoscrizione non inizializzata40 = Comando non riuscito per la ripetizione dei tentativi30 = In esecuzione (avvio, esecuzione o inattività)20 = Non in esecuzione (operazione riuscita) |
distributionagentjobid |
binary(16) | ID del processo dell'agente di distribuzione per le sottoscrizioni di una pubblicazione transazionale. |
mergeagentjobid |
binary(16) | ID del processo dell'agente di merge per le sottoscrizioni di una pubblicazione di tipo merge. |
distributionagentid |
int | ID del processo dell'agente di distribuzione per la sottoscrizione. |
distributionagentprofileid |
int | ID del profilo dell'agente utilizzato dall'agente di distribuzione. |
mergeagentid |
int | ID del processo dell'agente di merge per la sottoscrizione. |
mergeagentprofileid |
int | ID del profilo dell'agente utilizzato dall'agente di merge. |
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_replmonitorhelpsubscription
viene usato con tutti i tipi di replica.
sp_replmonitorhelpsubscription
ordina il set di risultati in base alla gravità dello stato della sottoscrizione, determinato dal valore di monitorranking
. Le righe di tutte le sottoscrizioni in errore, ad esempio, vengono ordinate prima delle righe delle sottoscrizioni con avviso.
Autorizzazioni
Solo i membri del ruolo predefinito del database db_owner o replmonitor nel database di distribuzione possono eseguire sp_replmonitorhelpsubscription
.