Procedura: Monitoraggio della replica a livello di programmazione (programmazione Transact-SQL della replica)
Monitoraggio replica è uno strumento grafico che consente di monitorare una topologia di replica. È possibile accedere agli stessi dati di monitoraggio a livello di programmazione utilizzando le stored procedure di replica, che consentono di programmare le attività seguenti:
Monitoraggio dello stato dei server di pubblicazione, delle pubblicazioni e delle sottoscrizioni.
Monitoraggio delle sessioni dell'agente di merge in uno o più Sottoscrittori.
Monitoraggio dei comandi transazionali in attesa di essere applicati a uno o più Sottoscrittori.
Definizione delle misurazioni del valore di soglia che determinano la necessità di un intervento per una pubblicazione.
Per monitorare i server di pubblicazione, le pubblicazioni e le sottoscrizioni dal server di distribuzione
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorhelppublisher. Vengono restituite le informazioni di monitoraggio per tutti i server di pubblicazione che utilizzano il server di distribuzione. Per limitare il set di risultati a un solo server di pubblicazione, specificare @publisher.
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorhelppublication. Vengono restituite le informazioni di monitoraggio per tutte le pubblicazioni che utilizzano il server di distribuzione. Per limitare il set di risultati a un solo server di pubblicazione, a una sola pubblicazione o a un solo database pubblicato, specificare rispettivamente @publisher, @publication o @publisher_db.
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorhelpsubscription. Vengono restituite le informazioni di monitoraggio per tutte le sottoscrizioni che utilizzano il server di distribuzione. Per limitare il set di risultati alle sottoscrizioni appartenenti a un solo server di pubblicazione, a una sola pubblicazione o a un solo database pubblicato, specificare rispettivamente @publisher, @publication o @publisher_db.
Per monitorare i comandi transazionali in attesa di essere applicati al Sottoscrittore
- Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorsubscriptionpendingcmds. Vengono restituite le informazioni di monitoraggio per tutti i comandi in sospeso per tutte le sottoscrizioni che utilizzano il server di distribuzione. Per limitare il set di risultati ai comandi in sospeso per le sottoscrizioni appartenenti a un solo server di pubblicazione, a un solo Sottoscrittore, a una sola pubblicazione o a un solo database pubblicato, specificare rispettivamente @publisher, @subscriber, @publication o @publisher_db.
Per monitorare le modifiche di tipo merge in attesa di essere caricate o scaricate
Nel database di pubblicazione del server di pubblicazione eseguire sp_showpendingchanges. Viene restituito un set di risultati in cui sono indicate le informazioni sulle modifiche in attesa di essere replicate nei Sottoscrittori. Per limitare il set di risultati a modifiche che appartengono a una sola pubblicazione o a un solo un articolo, specificare rispettivamente @publication o @article.
Nel database di sottoscrizione del Sottoscrittore eseguire sp_showpendingchanges. Viene restituito un set di risultati in cui sono indicate le informazioni sulle modifiche in attesa di essere replicate nel server di pubblicazione. Per limitare il set di risultati a modifiche che appartengono a una sola pubblicazione o a un solo un articolo, specificare rispettivamente @publication o @article.
Per monitorare sessioni dell'agente di merge
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorhelpmergesession. Vengono restituite le informazioni di monitoraggio, Session_id incluso, relative a tutte le sessioni dell'agente di merge per tutte le sottoscrizioni che utilizzano il server di distribuzione. È anche possibile ottenere il valore Session_id eseguendo una query sulla tabella di sistema MSmerge_sessions.
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorhelpmergesessiondetail. Specificare il valore Session_id indicato al passaggio 1 per @session_id. Vengono visualizzate informazioni di monitoraggio dettagliate sulla sessione.
Ripetere il passaggio 2 per ciascuna sessione desiderata.
Per monitorare le sessioni dell'agente di merge per le sottoscrizioni pull dal Sottoscrittore
Nel database di sottoscrizione del Sottoscrittore eseguire sp_replmonitorhelpmergesession. Per una determinata sottoscrizione, specificare @publisher, @publication e il nome del database di pubblicazione per @publisher_db. Vengono restituite le informazioni di monitoraggio per le ultime cinque sessioni dell'agente di merge della sottoscrizione. Tenere presente il valore di Session_id per le sessioni desiderate nel set di risultati.
Nel database di sottoscrizione del Sottoscrittore eseguire sp_replmonitorhelpmergesession. Specificare il valore Session_id indicato al passaggio 1 per @session_id. Vengono visualizzate informazioni di monitoraggio dettagliate sulla sessione.
Ripetere il passaggio 2 per ciascuna sessione desiderata.
Per visualizzare e modificare le misurazioni del valore di soglia di monitoraggio per una pubblicazione
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorhelppublicationthresholds. Vengono restituiti i valori di soglia di monitoraggio impostati per tutte le pubblicazioni che utilizzano il server di distribuzione. Per limitare il set di risultati ai valori di soglia di monitoraggio delle pubblicazioni appartenenti a un solo server di pubblicazione, a un solo database pubblicato o a una sola pubblicazione, specificare rispettivamente @publisher, @publisher_db o @publication. Tenere presente il valore di Metric_id per i valori di soglia da modificare. Per ulteriori informazioni, vedere Impostazione di valori di soglia e avvisi in Monitoraggio replica.
Nel database di distribuzione del server di distribuzione eseguire sp_replmonitorchangepublicationthreshold. Specificare i parametri seguenti, in base alle esigenze:
Il valore Metric_id ottenuto nel passaggio 1 per @metric_id.
Un nuovo valore per la misurazione del valore di soglia di monitoraggio per @value.
Un valore pari a 1 per @shouldalert se è necessaria la registrazione di un avviso al raggiungimento del valore di soglia specificato o un valore pari a 0 se la registrazione dell'avviso non è necessaria.
Un valore pari a 1 per @mode per attivare la misurazione del valore di soglia di monitoraggio o un valore pari a 2 per disattivarla.