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

Sådan opretter du Snapshot-replikering

Konceptet med snapshot-replikering er enkelt. Det genererer og distribuerer snapshot af skema og data for artikler, dukkede op på et bestemt tidspunkt og opdaterer ændringerne på abonnementer. Når vi opretter snapshot-replikering, opretter SQL Server et Snapshot Agent Job som genererer et øjebliksbillede af publikationsdatabaseobjekter. Snapshot gemmes på enten netværksplacering eller på harddisken. Du kan definere intervallet for at generere øjebliksbilledet ved hjælp af SQL-jobplanen.

Demoopsætning

Til denne demo har jeg oprettet to SQL Server-instanser i en databaseserver. Forekomstnavne og detaljer er følgende:

[tabel id=54 /]

I demo-opsætningen har jeg ikke oprettet en distributør, og derfor vil udgiverinstansen også fungere som distributør. Jeg vil replikere tabeller og data, der tilhørerPersonen skema af AdventureWorks2014-databasen.

Konfiguration af Publisher

For at konfigurere udgiver skal du åbne SQL Server Management Studio, udvide databaseforekomsten, udvide replikeringen node, højreklik på Local Publication og vælg Ny udgivelse . Se følgende billede:

Ny udgivelsesguide starter. På skærmen er der givet en kort oversigt over guiden. Du kan springe denne skærm over ved at markere Vis ikke denne startside igen afkrydsningsfelt. Klik på Næste for at gå til næste skærmbillede. Se følgende billede:

På det næste skærmbillede skal du vælge den database, der fungerer som udgiver. I denne demo bruger jeg AdventureWorks2014 database, vælg derfor AdventureWorks2014 database fra databaselisten, og klik på Næste . Se følgende billede:

På det næste skærmbillede skal du vælge en publikationstype. Typerne er angivet i listeboksen Publikationstyper, og for individuel publikationstype er beskrivelserne også forklaret i Publicationstypebeskrivelse tekstboks. Vælg Snapshot Replicatio n og klik på Næste . Se følgende billede:

Ved replikering er databaseobjekterne kendt som artikler. På Artikler skærmen, vises listen over databaseobjekter i publikationsdatabasen. Jeg vil replikere data for alle tabeller, der hører til Person-skemaet, og vælg derfor de tabeller, der hører til Person-skemaet fra listen over artikler, og klik på Næste . Se følgende billede:

For at initialisere replikering skal vi generere et øjebliksbillede. På Snapshot Agent skærm, skal du konfigurere snapshotgenereringsintervallet. Du kan generere øjebliksbilledet med det samme, eller du kan planlægge det specifikke tidspunkt for at generere database-øjebliksbilledet. Som standard genereres øjebliksbilledet hver time, men vi kan ændre det. For at generere et øjebliksbillede på et bestemt interval skal du klikke på Skift . Nyt jobplan dialogboksen åbnes. Konfigurer den ønskede tidsplan, og klik på OK . Se følgende billede:

I denne demo genererer jeg øjebliksbillede med det samme, og tjek derfor Opret et øjebliksbillede, og hold snapshottet tilgængeligt for at initialisere abonnementet og klik på Næste.

På den næste skærm skal du konfigurere SQL Agent-sikkerheden. For at konfigurere agentsikkerheden skal du klikke på Sikkerhedsindstillinger knap. Snapshot Agent Security dialogboksen åbnes. Angiv den konto, under hvilken abonnenten opretter forbindelse til udgiveren, i dialogboksen. Angiv desuden de kontooplysninger, under hvilke SQL Server-agentjobbet vil blive udført. Til denne demo udføres SQL Server-job under SQL Server-agentservicekontoen, og vælg derfor Kør under SQL Server Agent-servicekontoen mulighed. Abonnenter vil blive forbundet til udgiveren ved hjælp af SQL-login, og vælg derfor Brug af følgende SQL Server-loginindstilling og angiv SQL-login og adgangskode. I denne demo skal du oprette forbindelse ved hjælp af sa Log på. Klik på OK for at lukke dialogboksen, og klik på Næste t. Se følgende billede:

På næste skærmbillede kan du vælge at oprette en publikation eller generere scripts for at oprette publikationen. Vælg Generer en script-fil for at oprette publikationen mulighed for at generere scripts af replikeringstrin. Vi opretter en publikation, og vælg derfor Opret publikationen og klik på Næste . Se følgende billede:

På den næste skærm skal du angive navnet på publikationen, gennemgå oversigten over opgaver, der skal udføres for at oprette replikering, og klikke på Udfør for at oprette publikationen og lukke New Publication Wizard. Se følgende billede:

Som jeg nævnte i begyndelsen af ​​artiklen, når vi opretter en snapshot-replikering, opretter SQL et job, der opretter et snapshot og gemmer snapshot-filerne i standardmappen.

For at se dem skal du udvide SQL Server Agent>> udvid Jobs . Se følgende billede:

Når udgivelsen er konfigureret, skal du konfigurere abonnenter.

Konfiguration af abonnent

For at konfigurere abonnent skal du først oprette forbindelse til en anden SQL-instans. Når du har oprettet forbindelse til forekomsten, skal du udvide replikeringen og højreklikke på Lokalt abonnement . Se følgende billede:

New SubscriptionWizard åbner. På skærmen er der givet en kort oversigt over guiden. Du kan springe denne skærm over ved at markere Vis ikke denne startside igen afkrydsningsfelt. Klik på Næste for at gå til næste skærmbillede. Se følgende billede:

På den næste skærm skal du vælge udgivelsesserveren. Klik på Udgiver rullemenuen, og vælg Find SQL Server Publisher fra listen. En dialogboks til at forbinde udgiveren åbnes. Angiv værtsnavnet på udgiverserveren i tekstboksen til servernavn og klik på tilslut. Se følgende billede:

Når forbindelsen med udgiveren er etableret, vises Snapshot_Replication publikationen og AdventureWorks2014 databasen vil blive vist i Databaser og publikation tekstboks. Vælg Snapshot_Replication og klik på Næste . Se følgende billede:

På det næste skærmbillede skal du vælge distributionsagentens placering. Til denne demo vil jeg bruge Pull Subscription , og vælg derfor Kør hver agent hos dens abonnent og klik påNæste :

På den næste skærm skal du vælge en abonnementsdatabase. Jeg har oprettet en database med navnet Personer der fungerer som en abonnentdatabase. Iabonnementsdatabasen rullemenuen skal du vælge Personer database fra listen. Når du har valgt en abonnementsdatabase, skal du klikke på Næste . Se følgende billede:

På den næste skærm skal du konfigurere distributionsagentsikkerhed. For at konfigurere sikkerhed skal du klikke på […] knap. Distributionsagentsikkerheden dialogboksen åbnes. I det første afsnit skal du angive den domænekonto, som distributionsagentprocessen skal køre under. Distributionsagenten kører under SQL Server-agenttjenesten, og vælg derfor Kør under SQL Server-agenttjenestekontoen mulighed.

Her konfigurerede jeg ikke distributionsserveren, derfor fungerer udgiveren som distributør. Abonnenten vil oprette forbindelse til udgiver/distributør ved hjælp af SQL-login. For at tilslutte distributøren skal du bruge sa login og adgangskode. Se følgende billede:

Klik på OK for at lukke dialogboksen. Og på Distribution Agent Security skærm, skal du klikke på Næste . Se følgende billede:

På den næste skærm skal du konfigurere abonnementssynkroniseringsplanen. Du kan vælge, at den skal køre kontinuerligt eller konfigurere den planlagte udførelse. Vælg Kør kontinuerligt i Agentplanen drop-down boks. Klik på Næste . Se følgende billede:

På den næste skærm skal du vælge, om abonnementet skal initialiseres med det samme med et øjebliksbillede af publikationsdata og skema eller efter den første synkronisering. Vi initialiserer abonnementet med det samme, og vælg derforStraks fra Initialiser hvornår drop-down boks. Klik på Næste . Se følgende billede:

På næste skærmbillede kan du vælge at oprette abonnement med det samme eller generere scripts for at oprette et abonnement. Vælg Generer en scriptfil for at oprette abonnementet . Mulighed for at generere scripts af replikeringstrin. Vi opretter en publikation, og vælg derfor Opret abonnementet, og klik på Næste t. Se følgende billede:

På næste skærmbillede vises en liste over opgaver, der udføres for at oprette abonnement. Du kan gennemgå dem og klikke på Udfør . Se følgende billede:

Når abonnementet er oprettet, kan du se abonnementet under Lokalt abonnement node. Se følgende billede:

Ændring af Snapshot-skema

Som jeg nævnte, når vi opretter en publikation, kan vi konfigurere et snapshot-interval fra Snapshot Agent skærmen. Vi kan ændre snapshot-intervallet ved at ændre tidsplanen for et snapshot-replikerings-SQL-job. For at gøre det skal du udvide SQL Server Agent på udgiverserveren>> Udvid Jobs og højreklik på Snapshot-replikeringsjobbet (TTI412-VM\SQL2017-AdventureWorks2014-Snapshot_Replication-4) og vælg Egenskaber . Se følgende billede:

Dialogboksen Jobegenskaber åbnes. Vælg Tidsplaner side, vælg tidsplanen og klik på Rediger . Se følgende billede:

Jobplanen dialogboksen åbnes. konfigurer passende tidsplan, og klik på OK .

Ovenstående konfiguration genererer et øjebliksbillede hver time.

Ændring af placering af snapshotfilerne

Vi kan også lægge snapshot-filerne i en anden mappe. Til denne demo er snapshotfilerne gemt i standardmappen, som er E:\ReplicationSnapshot . Jeg vil ændre placeringen af ​​snapshot-filerne. Den nye placering vil være E:\Snapshot\PersonsSchema .

Vi kan ændre øjebliksbilledets placering fra publikationsegenskaberne. For at åbne publikationsegenskaber skal du højreklikke på Lokal udgivelse på udgiverserveren, og vælg Egenskaber. Se følgende billede:

Publikationsegenskaber dialogboksen åbnes. Vælg Snapshot i dialogboksen . På Snapshot skærm, skal du rydde Placer filer i standardmappen og vælg Placer filer i følgende mappe mulighed. Angiv en ny sti i tekstfeltet, og klik påOK . Se følgende billede:

Når vi udfører denne ændring, bliver det aktuelle øjebliksbillede ugyldigt. Derfor vil du efter at have ændret denne indstilling få en advarsel som vist på følgende billede:

Klik på ja. Det vil generere et nyt snapshot og gemme snapshot-filer på E:\Snapshots\PersonsSchema\unc . Se følgende billede:

Visning af replikeringsstatus

Du kan bruge Replication Monitor for at se replikeringsstatussen. For at åbne replikeringsmonitoren skal du udvide replikationsfunktionen n node>> udvid Lokale publikationer>> højreklik på Snapshot_Replication og vælg Start replikeringsmonitor . Se følgende billede.

Ved at bruge replikeringsmonitoren kan du se:

  1. Status for replikering
  2. Liste over abonnementer
  3. Dato og klokkeslæt for sidste synkronisering.

Ved at bruge replikeringsmonitoren kan du se status for agent og job relateret til jobbet. For at se den skal du vælge Agentreplikeringsmonitor dialog boks. Se følgende billede:

Under Agent fanen, kan du se følgende detaljer:

  1. Status for udgivelsesjob.
  2. Navn på udgivelsesjob.
  3. Sidste startdato og tidspunkt for udgivelsesjob.
  4. Varighed til fuldførelse af udgivelsesjob.
  5. Den sidste handling blev udført af udgivelsesjob.

Oversigt

I denne artikel havde jeg forklaret:

  1. Højt niveau er oversigt over snapshot-replikering.
  2. Sådan konfigurerer du udgiver og abonnent.
  3. Replikeringsmonitor og dens brug.

Nyttige værktøjer:

dbForge Data Compare til SQL Server – kraftfuldt SQL-sammenligningsværktøj, der kan arbejde med big data.

dbForge Schema Compare til SQL Server – pålideligt værktøj, der sparer tid og kræfter, når du sammenligner og synkroniserer databaser på SQL Server.


  1. Hvordan filtrerede indekser kunne være en mere kraftfuld funktion

  2. Sådan rettes "Et korrelationsnavn skal angives for bulk-rækkesættet i fra-klausulen." i SQL Server

  3. Hvordan fungerer MySQL CASE?

  4. MySQL:Sorter GROUP_CONCAT-værdier