Transactiereplicatie van SQL Azure-database naar on-premise SQL-server

Ik heb een use-case waarbij ik een on-premise SQL Server-database gesynchroniseerd moet houden met mijn Azure SQL-database.

Is er een manier waarop ik replicatie / synchronisatie kan instellen van de Azure SQL-database naar de lokale database?

Opmerkingen

Answer

De volgende lijst met artikelen kan voldoende informatie verstrekken zodat u een Azure SQL Data Sync kunt samenstellen:

SQL Data Sync is een service die is gebouwd op Azure SQL Database waarmee u de gegevens die u selecteert bidirectioneel kunt synchroniseren tussen meerdere SQL-databases en SQL Server-instanties.

( Nadruk de mijne)

In deze tutorial, u leert hoe u Azure SQL Data Sync instelt door een hybride synchronisatiegroep te maken die beide bevat Azure SQL Database- en SQL Server-exemplaren . De nieuwe synchronisatiegroep is volledig geconfigureerd en wordt gesynchroniseerd volgens het door u ingestelde schema.
[…]

Voeg een Azure SQL-database toe

Voeg in de sectie Ledendatabase optioneel toe een Azure SQL-database aan de synchronisatiegroep door een Azure-database toevoegen te selecteren. De pagina Azure Database configureren wordt geopend.

Op de pagina Azure Database configureren doet u het volgende:

  1. Geef in het veld Synchroniseerlidnaam een naam op voor het nieuwe synchronisatielid. Deze naam verschilt van de naam van de database zelf.

  2. Selecteer in het veld Abonnement het bijbehorende Azure-abonnement voor factureringsdoeleinden.

  3. Selecteer in het veld Azure SQL Server de bestaande SQL-databaseserver.

  4. Selecteer in het veld Azure SQL Database de bestaande SQL-database.

  5. Selecteer in het veld Synchronisatierichtingen Bidirectionele synchronisatie, Naar de hub of Van de hub.

  6. In de velden Gebruikersnaam en Wachtwoord , voert u de bestaande aanmeldingsgegevens in voor de SQL Database-server waarop de ledendatabase zich bevindt. Voer in deze sectie geen nieuwe inloggegevens in.

  7. Selecteer OK en wacht tot het nieuwe synchronisatielid is gemaakt en geïmplementeerd.

Een on-premise SQL Server-database toevoegen

Voeg in de sectie Member Database optioneel een on-premise SQL Server toe aan de synchronisatiegroep door Add an on-premises Database te selecteren. De pagina Gebouw wordt geopend.

Op de pagina Op locatie configureren doet u de volgende dingen:

  1. Selecteer Kies de gateway van de synchronisatieagent. De pagina Synchronisatieagent selecteren wordt geopend .

  2. Kies op de pagina Kies de gateway voor synchronisatieagent of u een bestaande agent wilt gebruiken of een nieuwe agent wilt maken.

    Als u Bestaande agenten kiest, selecteer de bestaande agent uit de lijst.

    Als je kiest voor Create a new agent, doe dan het volgende:

    a. Download de software van de clientsynchronisatieagent via de aangeboden link en installeer deze op de computer waarop de SQL Server zich bevindt.

    Belangrijk

U moet uitgaande TCP-poort 1433 openen in de firewall om de clientagent te laten communiceren met de server.

b. Voer een naam in voor de agent.

c. Selecteer Create and Generate Key.

d. Kopieer de agentsleutel naar het klembord.

e. Selecteer OK om de pagina Synchronisatieagent selecteren te sluiten.

f. Zoek op de SQL Server-computer de Client Sync Agent-app en voer deze uit.

g. Selecteer in de synchronisatieagent-app Agentsleutel verzenden. Het dialoogvenster Configuratie van metagegevensdatabase synchroniseren wordt geopend.

h. Plak in het dialoogvenster Configuratie van metagegevensdatabase synchroniseren de agentsleutel die is gekopieerd uit de Azure Portal. Geef ook de bestaande referenties op voor de Azure SQL Database-server waarop de metagegevensdatabase zich bevindt. (Als u een nieuwe metadatadatabase hebt gemaakt, bevindt deze database zich op dezelfde server als de hubdatabase.) Selecteer OK en wacht tot de configuratie is voltooid.

Opmerking Als u op dit punt een firewallfout krijgt, moet u een firewallregel op Azure maken om inkomend verkeer van de SQL Server-computer.U kunt de regel handmatig in de portal maken, maar het is wellicht gemakkelijker om deze in SQL Server Management Studio (SSMS) te maken. Probeer in SSMS verbinding te maken met de hub-database op Azure. Voer de naam in als <hub_database_name>.database.windows.net. Volg de stappen in het dialoogvenster om de Azure-firewallregel te configureren. Keer vervolgens terug naar de Client Sync Agent-app.

i. Klik in de Client Sync Agent-app op Registreren om een SQL Server-database bij de agent te registreren. Het dialoogvenster SQL Server-configuratie wordt geopend. j. Kies in het dialoogvenster SQL Server-configuratie of u verbinding wilt maken met behulp van SQL Server-verificatie of Windows-verificatie. Als u voor SQL Server-verificatie hebt gekozen, voert u de bestaande aanmeldingsgegevens in. Geef de SQL Server-naam op en de naam van de database die u wilt synchroniseren. Selecteer Test verbinding om uw instellingen te testen. Selecteer vervolgens Opslaan. De geregistreerde database verschijnt in de lijst.

k. U kunt nu de Client Sync Agent-app sluiten.

l. Selecteer in de portal op de pagina On-Premises configureren de optie Database selecteren. De pagina Database selecteren wordt geopend.

m. Geef op de pagina Database selecteren in het veld Synchronisatielid een naam op voor het nieuwe synchronisatielid. Deze naam verschilt van de naam van de database zelf. Selecteer de database uit de lijst. Selecteer in het veld Synchronisatierichtingen Bidirectionele synchronisatie, Naar de hub of Van de hub.

n. Selecteer OK om de pagina Database selecteren te sluiten. Selecteer vervolgens OK om de pagina Configure On-Premises te sluiten en wacht tot het nieuwe synchronisatielid is gemaakt en geïmplementeerd. Klik ten slotte op OK om de pagina Synchronisatieleden selecteren te sluiten.

  • Om verbinding te maken met SQL Data Sync en de lokale agent, voegt u uw gebruikersnaam toe aan de rol DataSync_Executor. Data Sync maakt deze rol aan op de SQL Server-instantie.

  • Stap 3 – Configureer de synchronisatiegroep

    Nadat de nieuwe leden van de synchronisatiegroep zijn gemaakt en geïmplementeerd, Stap 3, Synchronisatiegroep configureren, wordt gemarkeerd op de pagina Nieuwe synchronisatiegroep.

    1. Selecteer op de pagina Tabellen een database uit de lijst met leden van de synchronisatiegroep en selecteer vervolgens Schema vernieuwen .

    2. Selecteer in de lijst met beschikbare tabellen de tabellen die u wilt synchroniseren.

    3. Standaard zijn alle kolommen in de tabel zijn geselecteerd. Als u niet alle kolommen wilt synchroniseren, schakelt u het selectievakje uit voor de kolommen die u niet wilt synchroniseren. Zorg ervoor dat de primaire-sleutelkolom geselecteerd blijft.

    4. Selecteer ten slotte Opslaan.

    SQL Data Sync is een service die is gebouwd op Azure SQL Database waarmee u de gegevens die u selecteert bidirectioneel kunt synchroniseren tussen meerdere SQL-databases en SQL Server-instanties.

    Data Sync is gebaseerd op het concept van een synchronisatiegroep. Een synchronisatiegroep is een groep databases die u wilt synchroniseren.

    Opmerkingen

    • Gewoon anekdotisch, hoewel deze informatie correct is, heb ik een aanzienlijk aantal problemen met Azure Data Sync ondervonden tot het punt waarop we het moesten verlaten als een oplossing voor ons project. Dat is niet ‘ om te zeggen dat het ‘ niet zou werken voor het OP, alleen dat er gevallen zijn waarin het toevoegen van een aantal triggers aan de database om de status tussen 2 onafhankelijke servers te behouden is niet ‘ t de beste oplossing.

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *