Il concetto di replica snapshot è semplice. Genera e distribuisce l'istantanea dello schema e dei dati degli articoli, apparsi in un momento specifico e aggiorna le modifiche sugli abbonamenti. Quando creiamo la replica degli snapshot, SQL Server crea un processo dell'agente snapshot che genera uno snapshot degli oggetti del database di pubblicazione. L'istantanea viene archiviata in un percorso di rete o sul disco rigido. È possibile definire l'intervallo per generare lo snapshot utilizzando la pianificazione del lavoro SQL.
Impostazione demo
Per questa demo, ho creato due istanze di SQL Server in un server di database. I nomi e i dettagli delle istanze sono i seguenti:
[id tabella=54 /]
Nella configurazione demo, non ho creato un distributore, quindi l'istanza dell'editore fungerà anche da distributore. Ho intenzione di replicare tabelle e dati che appartengono alla Persona schema del database AdventureWorks2014.
Configurazione dell'editore
Per configurare l'editore, apri SQL Server Management Studio, espandi l'istanza del database, espandi la Replica nodo, fare clic con il pulsante destro del mouse su Lpubblicazione locale e seleziona Nuova pubblicazione . Vedi l'immagine seguente:
Viene avviata la nuova procedura guidata di pubblicazione. Sullo schermo è stato fornito un breve riassunto della procedura guidata. Puoi saltare questa schermata selezionando Non mostrare più questa pagina iniziale casella di controllo. Fai clic su Avanti per passare alla schermata successiva. Vedi l'immagine seguente:
Nella schermata successiva, seleziona il database che funge da editore. In questa demo, sto utilizzando AdventureWorks2014 database, quindi seleziona AdventureWorks2014 database dall'elenco dei database e fare clic su Avanti . Vedi l'immagine seguente:
Nella schermata successiva, seleziona un tipo di pubblicazione. I tipi sono elencati nella casella di riepilogo Tipi di pubblicazione e, per il singolo tipo di pubblicazione, le relative descrizioni sono spiegate anche in Descrizione del tipo di pubblicazione casella di testo. Seleziona Replica snapshot n e fai clic su Avanti . Vedi l'immagine seguente:
Nella replica, gli oggetti del database sono noti come articoli. Negli Articoli schermata, viene visualizzato l'elenco degli oggetti di database all'interno del database di pubblicazione. Ho intenzione di replicare i dati di tutte le tabelle che appartengono allo schema Person, quindi selezionare le tabelle che appartengono allo schema Person dall'elenco degli articoli e fare clic su Avanti . Vedi l'immagine seguente:
Per inizializzare la replica, dobbiamo generare uno snapshot. Su Agente Snapshot schermata, configurare l'intervallo di generazione delle istantanee. È 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 un'istantanea su un intervallo specifico, fai clic su Modifica . Il nuovo programma di lavoro si apre la finestra di dialogo. Configura la pianificazione desiderata e fai clic su OK . Vedi l'immagine seguente:
In questa demo, genererò immediatamente uno snapshot, quindi controlla Crea uno snapshot e mantieni lo snapshot disponibile per inizializzare l'abbonamento opzione e fare clic su Avanti.
Nella schermata 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, fornisci l'account con cui l'abbonato si connette all'editore. Fornire inoltre le informazioni sull'account con cui verrà eseguito il processo dell'agente di SQL Server. Per questa demo, i processi di SQL Server vengono eseguiti con l'account del servizio dell'agente SQL Server, quindi selezionare Esegui con l'account del servizio dell'agente SQL Server opzione. Gli abbonati saranno collegati all'editore utilizzando l'accesso SQL, quindi seleziona l'opzione Utilizzo della seguente opzione di accesso a SQL Server e fornire login e password SQL. In questa demo, connettiti usando sa Accedere. Fai clic su OK per chiudere la finestra di dialogo e fare clic su Avanti t. Vedi l'immagine seguente:
Nella schermata successiva, puoi scegliere di creare una pubblicazione o generare gli 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 una pubblicazione, quindi selezioniamo Crea la pubblicazione opzione e fare clic su Avanti . Vedi l'immagine seguente:
Nella schermata successiva, fornisci 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 la Creazione guidata nuova pubblicazione. Vedi l'immagine seguente:
Come accennato all'inizio dell'articolo, quando creiamo una replica di snapshot, SQL crea un processo che crea uno snapshot e memorizza i file di snapshot nella directory predefinita.
Per visualizzarli, espandi SQL Server Agent>> espandi Offerte di lavoro . Vedi l'immagine seguente:
Una volta configurata la pubblicazione, configura gli abbonati.
Configurazione dell'abbonato
Per configurare l'abbonato, prima connettiti a un'altra istanza SQL. Dopo esserti connesso all'istanza, espandi la replica e fai clic con il pulsante destro del mouse su Abbonamento locale . Vedi l'immagine seguente:
Nuova procedura guidata per gli abbonamenti si apre. Sullo schermo è stato fornito un breve riassunto della procedura guidata. Puoi saltare questa schermata selezionando Non mostrare più questa pagina iniziale casella di controllo. Fai clic su Avanti per passare alla schermata successiva. Vedi l'immagine seguente:
Nella schermata successiva, scegli il server di pubblicazione. Fai clic su Editore casella a discesa e seleziona Trova SQL Server Publisher dalla lista. Si apre una finestra di dialogo per connettere l'editore. Nella casella di testo del nome del server, fornire il nome host del server dell'editore e fare clic su Connetti. Vedi l'immagine seguente:
Una volta stabilita la connessione con l'editore, la Snapshot_Replication pubblicazione e AdventureWorks2014 il database verrà mostrato in Banche dati e pubblicazione casella di testo. Seleziona Istantanea_Replica e fai clic su Avanti . Vedi l'immagine seguente:
Nella schermata 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 schermata successiva, seleziona un database di abbonamento. Ho creato un database chiamato Persone che funge da database di abbonati. Nel Database delle iscrizioni casella a discesa, seleziona le Persone database dall'elenco. Dopo aver selezionato un database di abbonamento, fai clic su Avanti . Vedi l'immagine seguente:
Nella schermata successiva, configurare la sicurezza dell'agente di distribuzione. Per configurare la sicurezza, fai clic su […] pulsante. Il Titolo dell'agente di distribuzione si apre la finestra di dialogo. Nella prima sezione, fornisci l'account di dominio con cui verrà eseguito il processo dell'agente di distribuzione. L'agente di distribuzione verrà eseguito con il servizio dell'agente di SQL Server, quindi selezionare Esegui con l'account del servizio dell'agente di 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 SQL Login. Per collegare il distributore, usa il sa login e password. Vedi l'immagine seguente:
Fai clic su OK per chiudere la finestra di dialogo. E su Distribution Agent Security schermata, fai clic su Avanti . Vedi l'immagine seguente:
Nella schermata successiva, configura la pianificazione della sincronizzazione dell'abbonamento. Puoi sceglierlo per l'esecuzione continua o configurare l'esecuzione pianificata. Seleziona Esegui continuamente nel Programmazione agenti casella a discesa. Fai clic su Avanti . Vedi l'immagine seguente:
Nella schermata successiva, scegli 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 Immediatamente da Inizia quando casella a discesa. Fai clic su Avanti . Vedi l'immagine seguente:
Nella schermata successiva, puoi scegliere di creare immediatamente un abbonamento o generare gli script per creare un abbonamento. Seleziona Genera un file di script per creare l'abbonamento . Opzione per generare gli script delle fasi di replica. Creeremo una pubblicazione, quindi selezioniamo l'opzione Crea l'abbonamento e clicchiamo su Avanti t. Vedi l'immagine seguente:
Nella schermata successiva viene fornito un elenco di attività eseguite per creare l'abbonamento. Puoi esaminarli e fare clic su Fine . Vedi l'immagine seguente:
Una volta creato l'abbonamento, puoi vederlo sotto Abbonamento locale nodo. Vedi l'immagine seguente:
Modifica della pianificazione delle istantanee
Come accennato, quando creiamo una pubblicazione, possiamo configurare un intervallo di snapshot da Snapshot Agent schermo. È possibile modificare l'intervallo di snapshot modificando la pianificazione di un processo SQL di replica snapshot. A tale scopo, sul server di pubblicazione, espandi SQL Server Agent>> Espandi Offerte di lavoro e fai clic con il pulsante destro del mouse sul processo di replica snapshot (TTI412-VM\SQL2017-AdventureWorks2014-Snapshot_Replication-4) e seleziona Proprietà . Vedi l'immagine seguente:
Si apre la finestra di dialogo Proprietà del lavoro. Seleziona gli Programmi pagina, seleziona la pianificazione e fai clic su Modifica . Vedi l'immagine seguente:
Il Programma di lavoro si apre la finestra di dialogo. configurare la pianificazione appropriata e fare clic su OK .
La configurazione di cui sopra genera uno snapshot ogni ora.
Modifica della posizione dei file di snapshot
Possiamo anche mettere i file di snapshot in una cartella diversa. Per questa demo, i file di snapshot sono archiviati nella cartella predefinita che è E:\ReplicationSnapshot . Cambierò i file di snapshot della posizione. La nuova posizione sarà E:\Snapshot\PersonsSchema .
Possiamo modificare la posizione dell'istantanea dalle proprietà della pubblicazione. Per aprire le proprietà della pubblicazione, fai clic con il pulsante destro del mouse su Pubblicazione locale sul server del publisher e seleziona Proprietà. Vedi l'immagine seguente:
Le Proprietà di pubblicazione si apre la finestra di dialogo. Nella finestra di dialogo, seleziona Istantanea . Nell'Istantanea schermo, deselezionare Metti i file nella cartella predefinita e seleziona l'opzione Metti i file nella seguente cartella opzione. Fornisci un nuovo percorso nella casella di testo e fai clic su OK . Vedi l'immagine seguente:
Quando eseguiamo questa modifica, lo snapshot corrente non è più valido. Quindi, dopo aver modificato questa impostazione, riceverai un avviso come mostrato nell'immagine seguente:
Fare clic su Sì. Genererà una nuova istantanea e salverà i file di istantanea su E:\Snapshots\PersonsSchema\unc . Vedi l'immagine seguente:
Visualizzazione dello stato della replica
Puoi utilizzare Monitoraggio replica per visualizzare lo stato della replica. Per aprire il monitoraggio della replica, espandi Replica n nodo>> espandi Pubblicazioni locali>> fare clic con il pulsante destro del mouse su Istantanea_Replica e seleziona Avvia monitoraggio replica . Vedi l'immagine seguente.
Utilizzando il monitor di replica, puoi visualizzare:
- Stato della replica
- Elenco abbonamenti
- Data e ora dell'ultima sincronizzazione.
Utilizzando il monitoraggio della replica, è possibile visualizzare lo stato dell'agente e dei lavori relativi al lavoro. Per visualizzarlo, seleziona Agente nel Monitoraggio della replica la finestra di dialogo. Vedi l'immagine seguente:
Sotto l'Agente scheda, puoi visualizzare i seguenti dettagli:
- Stato del lavoro di pubblicazione.
- Nome del lavoro di pubblicazione.
- Ultima data e ora di inizio del lavoro di pubblicazione.
- Durata per completare il lavoro di pubblicazione.
- L'ultima azione è stata intrapresa dal lavoro di pubblicazione.
Riepilogo
In questo articolo avevo spiegato:
- Il livello alto è il riepilogo della replica degli snapshot.
- Come configurare editore e abbonato.
- Monitoraggio della replica e relativo utilizzo.
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.