Condividi tramite


Mettere una topologia di replica in stato di inattività (programmazione Transact-SQL della replica)

Si applica a: SQL Server Istanza gestita di SQL di Azure

Mettere in stato di inattività un sistema significa arrestare le attività sulle tabelle pubblicate in tutti i nodi e verificare che ogni nodo abbia ricevuto tutte le modifiche dagli altri nodi. In questo argomento è illustrato come mettere in stato di inattività una topologia di replica, operazione necessaria per diverse attività amministrative, e assicurarsi che un nodo abbia ricevuto tutte le modifiche dagli altri nodi.

Per mettere in stato di inattività una topologia di replica transazionale con sottoscrizioni di sola lettura

  1. Arrestare l'attività in tutte le tabelle pubblicate nel server di pubblicazione.

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_posttracertoken (Transact-SQL).

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_helptracertokenhistory.

  4. Assicurarsi che ciascun Sottoscrittore abbia ricevuto il token di traccia.

Per mettere in stato di inattività una topologia di replica transazionale con sottoscrizioni aggiornabili

  1. Arrestare l'attività in tutte le tabelle pubblicate nel server di pubblicazione e in tutti i Sottoscrittori.

  2. Se i Sottoscrittori utilizzano sottoscrizioni ad aggiornamento in coda:

    1. Se l'agente di lettura coda non viene eseguito in modalità continua, eseguire l'agente. Per altre informazioni sull'esecuzione degli agenti, vedere Concetti di base relativi ai file eseguibili dell'agente di replica o Avviare e arrestare un agente di replica (SQL Server Management Studio).

    2. Per verificare che la coda sia vuota, eseguire sp_replqueuemonitor in ciascun Sottoscrittore.

  3. Nel database di pubblicazione del server di pubblicazione eseguire sp_posttracertoken.

  4. Nel database di pubblicazione del server di pubblicazione eseguire sp_helptracertokenhistory.

  5. Assicurarsi che ciascun Sottoscrittore abbia ricevuto il token di traccia.

Per mettere in stato di inattività una topologia di replica transazionale peer-to-peer

  1. Arrestare l'attività in tutte le tabelle pubblicate in tutti i nodi.

  2. Eseguire sp_requestpeerresponse in ciascun database di pubblicazione nella topologia.

  3. Se l'agente di lettura log o l'agente di distribuzione non viene eseguito in modalità continua, eseguire l'agente. L'agente di lettura log deve essere avviato prima l'agente di distribuzione. Per altre informazioni sull'esecuzione degli agenti, vedere Concetti di base relativi ai file eseguibili dell'agente di replica o Avviare e arrestare un agente di replica (SQL Server Management Studio).

  4. Eseguire sp_helppeerresponses in ciascun database di pubblicazione nella topologia. Assicurarsi che il set di risultati contenga risposte da ciascuno degli altri nodi.

Per assicurarsi che un nodo peer-to-peer abbia ricevuto tutte le modifiche precedenti

  1. Eseguire sp_requestpeerresponse nel nodo del database di pubblicazione in cui viene eseguita la verifica.

  2. Se l'agente di lettura log o l'agente di distribuzione non viene eseguito in modalità continua, eseguire l'agente. L'agente di lettura log deve essere avviato prima l'agente di distribuzione. Per altre informazioni sull'esecuzione degli agenti, vedere Concetti di base relativi ai file eseguibili dell'agente di replica o Avviare e arrestare un agente di replica (SQL Server Management Studio).

  3. Eseguire sp_helppeerresponses nel nodo del database di pubblicazione in cui viene eseguita la verifica. Assicurarsi che il set di risultati contenga risposte da ciascuno degli altri nodi.

Per mettere in stato di inattività una topologia di replica di tipo merge

  1. Arrestare l'attività in tutte le tabelle pubblicate nel server di pubblicazione e in tutti i Sottoscrittori.

  2. Eseguire due volte l'agente di merge per ciascuna sottoscrizione: sincronizzare una volta tutte le sottoscrizioni, quindi sincronizzare ciascuna di esse una seconda volta. In questo modo si garantisce che tutte le modifiche vengano replicate in tutti i nodi. Per altre informazioni sull'esecuzione degli agenti, vedere Concetti di base relativi ai file eseguibili dell'agente di replica o Avviare e arrestare un agente di replica (SQL Server Management Studio).

    Nota

    Se si verificano conflitti durante la sincronizzazione, è possibile che le modifiche richieste per la risoluzione dei conflitti non vengano propagate in tutti i nodi dopo aver eseguito due volte l'agente di merge.