Database
 sql >> Database >  >> RDS >> Database

Come creare la replica transazionale

In questo articolo dimostrerò come creare una replica transazionale.

La replica transazionale ha generato un'istantanea degli oggetti DB di pubblicazione e dei dati al suo interno. Dopo che lo snapshot è stato generato, tutte le modifiche ai dati e allo schema che si sono verificate nel database dell'editore vengono inviate ai database degli abbonati. Nella replica transazionale, le modifiche ai dati e allo schema sono quasi in tempo reale, quindi la replica transazionale può essere utilizzata per scaricare i report e talvolta può essere utilizzata come sito di ripristino di emergenza.

Quando creiamo la replica transazionale, SQL Server crea i seguenti processi SQL

  1. Lavoro agente snapshot: Il lavoro dell'agente snapshot genera uno snapshot degli oggetti del database di pubblicazione. L'istantanea viene archiviata nel percorso di rete o sul disco
  2. Processo di lettura registro: Log Reader Job monitora continuamente le pubblicazioni. Rileva le modifiche allo schema e le query di inserimento, aggiornamento ed eliminazione e le contrassegna per la replica. Il lettore di log utilizza "Sp_Replcmds ” per applicare i comandi contrassegnati per la replica.

Impostazione demo:

Per questa demo, ho creato due istanze di SQL Server sullo stesso server di database. I nomi e i dettagli dell'istanza sono i seguenti:

Durante la configurazione della demo, non ho creato un distributore, quindi l'istanza del publisher fungerà anche da distributore. Ho creato il "Cliente ” nel database AdventureWorks2014. Ho intenzione di replicare i dati della tabella Customer. Pertanto, sarà chiamato articolo dall'editore.

Configura editore

Per configurare l'editore, apri SQL Server Management Studio, espandi l'istanza del database, espandi Replica nodo e fare clic con il pulsante destro del mouse su Pubblicazione locale e seleziona Nuova pubblicazione .

Viene avviata la Creazione guidata nuova pubblicazione. Nella finestra di dialogo viene fornito un breve riepilogo della procedura guidata. Puoi saltare l'ulteriore aspetto di questa finestra di dialogo selezionando Non mostrare più questa pagina iniziale casella di controllo. Fai clic su Avanti per passare alla finestra di dialogo successiva.

Nella finestra di dialogo successiva, seleziona il database che funge da editore. In questa demo, sto utilizzando AdventureWorks2014 database, quindi seleziona AdventureWorks2014 dall'elenco dei database e fare clic su Avanti .

Nella finestra di dialogo successiva, seleziona il tipo di pubblicazione dall'elenco dei tipi di pubblicazione e le relative descrizioni sono fornite anche nelle Descrizioni del tipo di pubblicazione casella di testo. Seleziona Pubblicazione transazionale e fai clic su Avanti .

Nella finestra di dialogo successiva, seleziona il tipo di pubblicazione dall'elenco dei tipi di pubblicazione e le relative descrizioni sono fornite anche nelle Descrizioni del tipo di pubblicazione casella di testo. Seleziona Pubblicazione transazionale e fai clic su Avanti .

Se si desidera filtrare i dati della tabella, è possibile specificare la condizione nella finestra di dialogo Filtra righe tabella. Per aggiungere il filtro, fai clic su Aggiungi pulsante. Un'altra finestra di dialogo Aggiungi filtro si apre. In questa finestra di dialogo, puoi specificare l'istruzione di filtro desiderata nell'istruzione di filtro casella di testo.

Per questa demo, non stiamo filtrando i dati del Cliente tabella, quindi salta questa finestra di dialogo e fai clic su Avanti .

Per inizializzare la replica transazionale, dobbiamo generare lo snapshot. Nella finestra di dialogo Snapshot Agent, configurare l'intervallo di generazione dello snapshot. È possibile generare immediatamente lo snapshot oppure pianificare l'ora specifica per generare lo snapshot del database. Per impostazione predefinita, lo snapshot viene generato ogni ora, ma possiamo modificarlo. Per generare l'istantanea in un intervallo specifico, fai clic su Cambia. Viene visualizzata la finestra di dialogo Nuova pianificazione lavori. Configura la pianificazione desiderata e fai clic su OK .

In questa demo, genererò lo snapshot immediatamente, quindi seleziona Crea uno snapshot e mantieni lo snapshot disponibile per inizializzare l'abbonamento opzione e fai clic su Avanti .

Nella finestra di dialogo successiva, configurare la sicurezza di SQL Agent. Per configurare la sicurezza dell'agente, fai clic su Impostazioni di sicurezza pulsante. Snapshot Agent Security si apre la finestra di dialogo. Nella finestra di dialogo, specifica l'account con cui l'abbonato si connette all'editore. Specificare inoltre le informazioni sull'account in base alle quali verrà eseguito il processo dell'agente di SQL Server. Per questa demo, i processi di SQL Server vengono eseguiti con l'account di servizio di SQL Server Agent, quindi seleziona Esegui con l'account di servizio di SQL Server Agent opzione. Gli abbonati verranno collegati all'editore utilizzando l'accesso SQL, quindi seleziona Utilizzando il seguente accesso di SQL Server opzione e specificare il login e la password SQL. In questa demo, connettiti usando "sa " Accedere. Fai clic su OK per chiudere la finestra di dialogo e fare clic su Avanti .

Nella finestra di dialogo successiva, puoi scegliere di creare una pubblicazione o generare script per creare la pubblicazione. Seleziona Genera un file di script per creare la pubblicazione opzione per generare gli script delle fasi di replica. Creeremo la pubblicazione, quindi seleziona Crea pubblicazione opzione e fai clic su Avanti .

Nella finestra di dialogo successiva, specifica il nome della pubblicazione, rivedi il riepilogo delle attività da eseguire per creare la replica e fai clic su Fine per creare la pubblicazione e chiudere Nuova pubblicazione Procedura guidata .

Come accennato all'inizio dell'articolo, quando creiamo una replica transazionale, crea il processo dell'agente di lettura log, il processo dell'agente snapshot e il processo di pulizia per gli abbonamenti scaduti.

Per visualizzarli, espandi SQL Server Agent , quindi espandi Offerte di lavoro .

Una volta configurata la pubblicazione, configura gli abbonati.

Configura l'abbonato

Per configurare l'abbonato, innanzitutto connettiti a un'altra istanza SQL. Dopo esserti connesso all'istanza, espandi Replica e fai clic con il pulsante destro del mouse su Abbonamento locale .

La Procedura guidata per le nuove iscrizioni si apre. Nella finestra di dialogo viene fornito un breve riepilogo della procedura guidata. Puoi saltare l'ulteriore aspetto di questa schermata selezionando Non mostrare più questa pagina iniziale casella di controllo. Fai clic su Avanti per passare alla finestra di dialogo successiva.

Nella finestra di dialogo successiva, scegli il server di pubblicazione. Fai clic su Editore casella a discesa e fare clic su Trova SQL Server Publisher . Si apre una finestra di dialogo per connettersi all'editore. Nel Nome server casella di testo, specifica il nome host del server di pubblicazione e fai clic su Connetti .

Una volta stabilita la connessione con l'editore, Pubblicazione_cliente e AdventureWorks2014 sarà mostrato nei Banche dati e pubblicazione casella di testo. Seleziona Pubblicazione_cliente e fai clic su Avanti .

Nella finestra di dialogo successiva, scegli la posizione dell'agente di distribuzione. Per questa demo utilizzerò Pull Subscription , quindi seleziona Esegui ogni agente presso il suo abbonato opzione e fai clic su Avanti :

Nella finestra di dialogo successiva, seleziona un database di sottoscrizione. Ho creato un database chiamato Customer_DB , che funge da database di abbonati. Nel database delle iscrizioni casella a discesa, seleziona il DB_cliente database dall'elenco. Dopo aver selezionato il database degli abbonamenti, fai clic su Avanti .

Nella finestra di dialogo successiva, configurare la sicurezza dell'agente di distribuzione. Per configurare la sicurezza, fare clic sul pulsante […]. Il Titolo dell'agente di distribuzione si apre la finestra di dialogo. Nella prima sezione, specificare l'account di dominio con cui verrà eseguito il processo dell'agente di distribuzione. L'agente di distribuzione verrà eseguito con il servizio SQL Server Agent, quindi seleziona Esegui con l'account di servizio dell'agente SQL Server opzione.

Qui non ho configurato il server di distribuzione, quindi l'editore funge da distributore. L'abbonato si connetterà all'editore/distributore utilizzando un accesso SQL. Per connettere il Distributore, usa “sa” login e password.

Fai clic su OK per chiudere la finestra di dialogo. Nella finestra di dialogo Protezione agente di distribuzione, fare clic su Avanti .

Nella finestra di dialogo successiva, configurare la pianificazione della sincronizzazione della sottoscrizione. Puoi sceglierlo per l'esecuzione continua o configurare l'esecuzione pianificata. Seleziona Esegui continuamente nel Programmazione agenti casella a discesa. Fai clic su Avanti .

Nella finestra di dialogo successiva, scegliere se inizializzare la sottoscrizione immediatamente con lo snapshot dei dati di pubblicazione e dello schema o dopo la prima sincronizzazione. Inizializzeremo l'abbonamento immediatamente, quindi scegli Subito da Inizia quando casella a discesa. Fai clic su Avanti .

Nella finestra di dialogo successiva, puoi scegliere di creare una sottoscrizione immediatamente o di generare gli script per creare una sottoscrizione. Seleziona Genera un file di script per creare l'abbonamento opzione per generare gli script delle fasi di replica. Creeremo una pubblicazione, quindi seleziona Crea abbonamento opzione e fai clic su Avanti .

Nella finestra di dialogo successiva viene fornito un elenco di attività eseguite per creare l'abbonamento. Puoi esaminarli e fare clic su Fine .

Una volta creato l'abbonamento, puoi vederlo sotto Abbonamento locale nodo.

Visualizza lo stato della replica

È possibile utilizzare Replication Monitor per visualizzare lo stato della replica. Per aprire Replication Monitor, espandi Replica , quindi espandere Pubblicazioni locali. Fai clic con il pulsante destro del mouse su Pubblicazione_cliente e seleziona Avvia monitoraggio replica.

Riepilogo:

In questo articolo ho spiegato:

  1. Un riepilogo di alto livello della replica transazionale.
  2. Configurazione demo.
  3. Come configurare la pubblicazione della replica.
  4. Come configurare gli abbonati di replica.

Strumenti utili:

dbForge Data Compare per SQL Server:potente strumento di confronto SQL in grado di lavorare con i big data.

dbForge Schema Compare per SQL Server:uno strumento affidabile che consente di risparmiare tempo e fatica durante il confronto e la sincronizzazione dei database su SQL Server.