Condividi tramite


sp_replmonitorhelpsubscription (Transact-SQL)

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 server di distribuzione nel database di distribuzione.

Icona di collegamento a un argomentoConvenzioni 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 server di pubblicazione di cui viene monitorato lo stato. publisher è di tipo sysname e il valore predefinito è NULL. Se null, vengono restituite informazioni su tutti i server di pubblicazione che utilizzano il server di distribuzione.

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

  • [ @publication = ] 'publication'
    Nome della pubblicazione da monitorare. publication è di tipo sysname e il valore predefinito è NULL.

  • [ @publication_type = ] publication_type
    Tipo di pubblicazione. publication_type è di tipo int. I possibili valori sono i seguenti.

    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 filtraggio da utilizzare per la restituzione delle informazioni di monitoraggio delle sottoscrizioni. mode è di tipo int. I possibili valori sono i seguenti.

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

    3

    Restituisce solo le sottoscrizioni con errori o che hanno generato avvisi correlati alla misurazione del valore di soglia.

    4

    Restituisce le 25 sottoscrizioni con le 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 al numero specificato di sottoscrizioni all'inizio dei dati restituiti. topnum è di tipo int e non prevede alcun valore predefinito.

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

  • [ @refreshpolicy= ] refreshpolicy
    Solo per uso interno.

Set di risultati

Nome colonna

Tipo di dati

Descrizione

status

int

Stato massimo di tutti gli agenti di replica associati alla pubblicazione. I possibili valori sono i seguenti:

1 = avviato

2 = esecuzione riuscita

3 = esecuzione in corso

4 = inattivo

5 = nuovo tentativo in corso

6 = esecuzione non riuscita

warning

int

Avviso correlato al valore di soglia massimo generato da una sottoscrizione appartenente alla pubblicazione. Può essere il risultato OR logico di uno o più dei valori seguenti.

1 = expiration: una sottoscrizione di una pubblicazione transazionale non è stata sincronizzata entro il valore di soglia relativo al periodo di memorizzazione.

2 = latency: il tempo necessario per replicare i dati da un server di pubblicazione transazionale nel Sottoscrittore supera il valore di soglia, in secondi.

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

8 = mergefastrunduration: il tempo necessario per completare la sincronizzazione di una sottoscrizione di tipo merge supera il valore di soglia, in secondi, su una connessione di rete veloce.

16 = mergeslowrunduration: il tempo necessario per completare la sincronizzazione di una sottoscrizione di tipo merge supera il valore di soglia, in secondi, su una connessione di rete lenta o su una connessione remota.

32 = mergefastrunspeed: la velocità di recapito delle righe durante la sincronizzazione di una sottoscrizione di tipo merge è minore del valore di soglia, in righe al secondo, su una connessione di rete veloce.

64 = mergeslowrunspeed: la velocità di recapito delle righe durante la sincronizzazione di una sottoscrizione di tipo merge è minore del valore di soglia, in righe al secondo, su una connessione di rete lenta o una connessione remota.

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 transazionale

1 = Pubblicazione snapshot

2 = Pubblicazione di tipo merge

subtype

int

Tipo di sottoscrizione. I possibili valori sono i seguenti:

0 = push

1 = pull

2 = anonima

latency

int

Latenza massima, in secondi, per le modifiche dei dati propagate dagli agenti di lettura log o 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 deve essere 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 di 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 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 imminente o avvenuta

50 = avviso: sottoscrizione non inizializzata

40 = ripetizione in corso del comando non riuscito

30 = non in esecuzione (esito positivo)

20 = in esecuzione (avvio in corso, in esecuzione o inattivo)

Per una pubblicazione di tipo merge:

60 = errore

56 = avviso: prestazioni critiche

54 = avviso: merge con esecuzione prolungata

52 = avviso: scadenza imminente

50 = avviso: sottoscrizione non inizializzata

40 = ripetizione in corso del comando non riuscito

30 = in esecuzione (avvio in corso, in esecuzione o inattivo)

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 restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_replmonitorhelpsubscription viene utilizzata in tutti i tipi di replica.

sp_replmonitorhelpsubscription ordina il set di risultati in base alla gravità dello stato della sottoscrizione, che viene 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.