sp_replmonitorhelpsubscription (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sì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.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

  
sp_replmonitorhelpsubscription [ @publisher = ] 'publisher'  
    [ , [ @publisher_db = ] 'publisher_db' ]  
    [ , [ @publication = ] 'publication' ]  
    [ , [ @publication_type = ] publication_type ]   
    [ , [ @mode = ] mode ]  
    [ , [ @topnum = ] topnum ]   
    [ , [ @exclude_anonymous = ] exclude_anonymous ]   
    [ , [ @refreshpolicy = ] refreshpolicy ]  

Argomenti

[ @publisher = ] 'publisher'Nome del Publisher lo stato di cui viene monitorato. publisher è sysname, con valore predefinito NULL. Se null, vengono restituite informazioni per tutti i server di pubblicazione che usano il server di distribuzione.

[ @publisher_db = ] 'publisher_db' Nome del database pubblicato. publisher_db è sysname, con valore predefinito NULL. Se NULL, vengono restituite informazioni su tutti i database pubblicati nel server di pubblicazione.

[ @publication = ] 'publication' Nome della pubblicazione monitorata. publication è sysname, con valore predefinito NULL.

[ @publication_type = ] publication_type Se il 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 = ] mode Modalità di filtro da usare per la restituzione delle informazioni di monitoraggio della sottoscrizione. 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 hanno generato avvisi correlati alla misurazione del valore soglia.
3 Restituisce solo le sottoscrizioni con errori o che hanno generato avvisi correlati alla misurazione del valore 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 in fase di sincronizzazione.

[ @topnum = ] topnum Limita il set di risultati solo al numero specificato di sottoscrizioni nella parte superiore dei dati restituiti. topnum è int, senza alcun valore predefinito.

[ @exclude_anonymous = ] exclude_anonymous È se le sottoscrizioni pull anonime vengono escluse dal set di risultati. exclude_anonymous è bit, con il valore predefinito 0. Il valore 1 indica che le sottoscrizioni anonime vengono escluse e il valore 0 indica che sono incluse.

[ @refreshpolicy = ] refreshpolicy Solo per uso interno.

Set di risultati

Nome colonna Tipo di dati Descrizione
Stato int Analizza lo stato di tutti gli agenti di replica associati alla pubblicazione e restituisce lo stato più elevato trovato nell'ordine seguente:

6 = Operazione non riuscita

5 = Nuovo tentativo

2 = Arrestato

4 = Inattivo

3 = In corso

1 = 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 = scadenza: una sottoscrizione a una pubblicazione transazionale non è stata sincronizzata entro la soglia del periodo di memorizzazione.

2 = latenza: il tempo impiegato per replicare i dati da un Publisher transazionale al Sottoscrittore supera la soglia, in secondi.

4 = mergeexpiration: una sottoscrizione a una pubblicazione di tipo merge non è stata sincronizzata entro la soglia del periodo di memorizzazione.

8 = mergefastrunduration: il tempo impiegato per completare la sincronizzazione di una sottoscrizione di tipo merge supera la soglia, in secondi, su 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, su una connessione di rete lenta o remota.

32 = mergefastrunspeed: la frequenza di recapito delle 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 delle 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 o remota.
Sottoscrittore sysname Nome del Sottoscrittore.
subscriber_db sysname Nome del database utilizzato per la sottoscrizione.
publisher_db sysname Nome del database di pubblicazione.
Pubblicazione sysname Nome di una pubblicazione.
publication_type int Tipo di pubblicazione. I possibili valori sono i seguenti:

0 = Pubblicazione transazionale

1 = Pubblicazione snapshot

2 = Pubblicazione di tipo merge
Sottotipo int Tipo di sottoscrizione. I possibili valori sono i seguenti:

0 = Push

1 = Pull

2 = Anonimo
Latenza 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 una pubblicazione transazionale, superata la quale viene generato un avviso.
agentnotrunning int Indica da quante ore l'agente non viene eseguito.
agentnotrunningthreshold int Indica dopo quante ore di mancata esecuzione dell'agente viene generato un avviso.
timetoexpiration int Indica il numero di ore che mancano alla scadenza della sottoscrizione, se questa non viene sincronizzata.
expirationthreshold int Indica quante ore prima della scadenza della sottoscrizione deve essere generato un avviso.
last_distsync datetime Data e ora dell'ultima esecuzione dell'agente di distribuzione.
distribution_agentname sysname Nome del processo dell'agente di distribuzione per la sottoscrizione a una pubblicazione transazionale.
mergeagentname sysname Nome del processo dell'agente di merge per la sottoscrizione di una pubblicazione di tipo merge.
mergesubscriptionfriendlyname sysname Nome descrittivo della sottoscrizione.
mergeagentlocation sysname Nome del server in cui viene eseguito l'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 remota

3 = 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 Velocità di recapito dell'ultima sincronizzazione per la sottoscrizione.
mergerunduration int Tempo necessario per completare l'ultima sincronizzazione della sottoscrizione.
monitorranking int Valore di rango utilizzato per ordinare le sottoscrizioni nel set di risultati. I possibili valori sono i seguenti:

Per una pubblicazione transazionale:

60 = Errore

56 = Avviso: prestazioni critiche

52 = Avviso: scadenza prossima o scaduta

50 = Avviso: sottoscrizione non inizializzata

40 = Nuovo tentativo di comando non riuscito

30 = Non in esecuzione (esito positivo)

20 = In esecuzione (avvio, esecuzione o inattività)

Per una pubblicazione di tipo merge:

60 = Errore

56 = Avviso: prestazioni critiche

54 = Avviso: merge a esecuzione lunga

52 = Avviso: in scadenza a breve

50 = Avviso: sottoscrizione non inizializzata

40 = Nuovo tentativo di comando non riuscito

30 = In esecuzione (avvio, esecuzione o inattività)

20 = Non in esecuzione (esito positivo)
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 (esito negativo)

Commenti

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 db_owner o replmonitor nel database di distribuzione possono eseguire sp_replmonitorhelpsubscription.

Vedere anche

Monitorare la replica a livello di programmazione