Transaktionsreplikering fra SQL Azure-database til lokal SQL-server

Jeg har en brugssag, hvor jeg skal have en lokal SQL Server-database synkroniseret med min Azure SQL-database.

Er der en måde, hvorpå jeg kan konfigurere replikering / synkronisering fra Azure SQL db til den lokale db?

Kommentarer

Svar

Følgende artikelliste kan give tilstrækkelig information for dig til at sammensætte en Azure SQL Data Sync :

SQL Data Sync er en tjeneste bygget på Azure SQL Database, der giver dig mulighed for at synkronisere de data, du vælger tovejs på tværs af flere SQL-databaser og SQL Server-forekomster.

( Betoning mine)

I denne vejledning, du lærer, hvordan du opsætter Azure SQL Data Sync ved at oprette en hybrid synkroniseringsgruppe, der indeholder begge Azure SQL Database og SQL Server-forekomster . Den nye synkroniseringsgruppe er fuldt konfigureret og synkroniseres efter den plan, du indstiller.
[…]

Tilføj en Azure SQL-database

I afsnittet Medlemsdatabase kan du tilføje en Azure SQL-database til synkroniseringsgruppen ved at vælge Tilføj en Azure-database. Siden Konfigurer Azure Database åbnes.

På siden Konfigurer Azure Database skal du gøre følgende:

  1. I feltet Synkroniser medlemsnavn skal du angive et navn til det nye synkroniseringsmedlem. Dette navn adskiller sig fra navnet på selve databasen.

  2. I feltet Abonnement skal du vælge det tilknyttede Azure-abonnement til faktureringsformål.

  3. I Azure SQL Server-feltet skal du vælge den eksisterende SQL-databaseserver.

  4. I feltet Azure SQL Database skal du vælge den eksisterende SQL-database.

  5. I feltet Synkroniseringsvejledning skal du vælge Tovejs synkronisering, Til hubben eller Fra hubben.

  6. I felterne Brugernavn og Adgangskode , indtast de eksisterende legitimationsoplysninger for SQL Database-serveren, hvor medlemsdatabasen er placeret. Indtast ikke nye legitimationsoplysninger i dette afsnit.

  7. Vælg OK, og vent på, at det nye synkroniseringsmedlem oprettes og implementeres.

Tilføj en lokal SQL Server-database

I sektionen Medlemsdatabase kan du eventuelt tilføje en lokal SQL Server til synkroniseringsgruppen ved at vælge Tilføj en lokal database. Siden Lokaler åbnes.

På siden Konfigurer lokaler skal du gøre følgende:

  1. Vælg Vælg Sync Agent Gateway. Siden Select Sync Agent-side åbnes .

  2. På siden Vælg Sync Agent Gateway-siden skal du vælge, om du vil bruge en eksisterende agent eller oprette en ny agent.

    Hvis du vælger Eksisterende agenter, vælg den eksisterende agent fra listen.

    Hvis du vælger Opret en ny agent, skal du gøre følgende:

    a. Download klientsynkroniseringsagentsoftwaren fra det medfølgende link og installer den på computeren, hvor SQL Server er placeret.

    Vigtigt

Du skal åbne udgående TCP-port 1433 i firewallen for at lade klientagenten kommunikere med serveren.

b. Indtast et navn til agenten.

c. Vælg Opret og generer nøgle.

d. Kopier agentnøglen til udklipsholderen.

e. Vælg OK for at lukke siden Vælg synkroniseringsagent.

f. Find og kør appen Client Sync Agent på SQL Server-computeren.

g. Vælg Submit Agent Key i appen synkroniseringsagent. Dialogboksen Sync Metadata Database Configuration åbnes.

h. Indsæt agentnøglen, der er kopieret fra Azure-portalen, i dialogboksen Konfiguration af synkroniseringsmetadatadatabase. Giv også de eksisterende legitimationsoplysninger til Azure SQL Database-serveren, som metadatadatabasen er placeret på. (Hvis du oprettede en ny metadatadatabase, er denne database på den samme server som hub-databasen.) Vælg OK, og vent til konfigurationen er færdig.

Bemærk Hvis du får en firewallfejl på dette tidspunkt, skal du oprette en firewallregel på Azure for at tillade indgående trafik fra SQL Server-computeren.Du kan oprette reglen manuelt i portalen, men det kan være lettere at oprette den i SQL Server Management Studio (SSMS). I SSMS skal du prøve at oprette forbindelse til hub-databasen på Azure. Indtast dets navn som <hub_database_name>.database.windows.net. Følg trinene i dialogboksen for at konfigurere Azure-firewallreglen. Gå derefter tilbage til appen Client Sync Agent.

i. I appen Client Sync Agent skal du klikke på Registrer for at registrere en SQL Server-database med agenten. Dialogboksen Konfiguration af SQL Server åbnes. j. I dialogboksen SQL Server Configuration skal du vælge, om du vil oprette forbindelse ved hjælp af SQL Server-godkendelse eller Windows-godkendelse. Hvis du vælger SQL Server-godkendelse, skal du indtaste de eksisterende legitimationsoplysninger. Angiv SQL Server-navnet og navnet på den database, du vil synkronisere. Vælg Test forbindelse for at teste dine indstillinger. Vælg derefter Gem. Den registrerede database vises på listen.

k. Du kan nu lukke appen Client Sync Agent.

l. På portalen, på siden Konfigurer lokaler, skal du vælge Vælg database. Siden Vælg database åbnes.

m. På siden Vælg database, i feltet Synkroniser medlemsnavn, skal du angive et navn til det nye synkroniseringsmedlem. Dette navn adskiller sig fra navnet på selve databasen. Vælg databasen fra listen. I feltet Synkroniseringsvejledning skal du vælge Tovejs synkronisering, Til hubben eller Fra hubben.

n. Vælg OK for at lukke siden Vælg database. Vælg derefter OK for at lukke siden Konfigurer lokaler og vente på, at det nye synkroniseringsmedlem oprettes og implementeres. Klik til sidst på OK for at lukke siden Vælg synkroniseringsmedlemmer.

  • For at oprette forbindelse til SQL Data Sync og den lokale agent skal du tilføje dit brugernavn til rollen DataSync_Executor. Data Sync opretter denne rolle på SQL Server-forekomsten.

  • Trin 3 – Konfigurer synkroniseringsgruppe

    Når de nye synkroniseringsgruppemedlemmer er oprettet og implementeret, Trin 3, Konfigurer synkroniseringsgruppe, er fremhævet på siden Ny synkroniseringsgruppe.

    1. På siden Tabeller skal du vælge en database på listen over synkroniseringsgruppemedlemmer og derefter vælge Opdater skema .

    2. På listen over tilgængelige tabeller skal du vælge de tabeller, du vil synkronisere.

    3. Som standard er alle kolonner i tabellen er valgt. Hvis du ikke vil synkronisere alle kolonnerne, skal du deaktivere afkrydsningsfeltet for de kolonner, som du ikke vil synkronisere. Sørg for at lade den primære nøglekolonne være valgt.

    4. Vælg til sidst Gem.

    SQL Data Sync er en tjeneste bygget på Azure SQL Database, der lader dig synkronisere de data, du vælger tovejs på tværs af flere SQL-databaser og SQL Server-forekomster.

    Data Sync er baseret på konceptet med en Sync Group. En synkroniseringsgruppe er en gruppe af databaser, som du vil synkronisere.

    Kommentarer

    • Bare anekdotisk, mens disse oplysninger er korrekte, har jeg oplevet et betydeligt antal problemer med Azure Data Sync til det punkt, hvor vi måtte opgive det som en løsning på vores projekt. Det er ikke ‘ t at sige, at det ikke ville ‘ t arbejde for OP, bare at der er tilfælde, hvor der tilføjes en masse triggere til databasen for at opretholde tilstand mellem 2 uafhængige servere er ikke ‘ t den bedste løsning.

    Skriv et svar

    Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *