Jag har ett användningsfall där jag behöver hålla en lokal SQL Server-databas synkroniserad med min Azure SQL-databas.
Finns det ett sätt att ställa in replikering / synkronisering från Azure SQL db till den lokala db?
Kommentarer
- Transaktionell replikering till Azure SQL Database är nu allmänt tillgänglig (Microsoft Azure Blog) är möjligen en bra utgångspunkt.
- Tack, jag har redan sett den länken. Jag vill synkronisera från Azure SQL till lokal DB. Länken du angav talar om lokalt till Azure SQL.
Svar
Följande artikellista kan ge tillräcklig information för dig att sätta ihop en Azure SQL Data Sync :
SQL Data Sync är en tjänst som bygger på Azure SQL Database som låter dig synkronisera de data du väljer tvåriktat över flera SQL-databaser och SQL Server-instanser.
( Betoning min)
I denna handledning, du lär dig hur du ställer in Azure SQL Data Sync genom att skapa en hybrid-synkroniseringsgrupp som innehåller båda Azure SQL Database och SQL Server-instanser . Den nya synkroniseringsgruppen är fullständigt konfigurerad och synkroniseras enligt det schema som du ställer in.
[…]Lägg till en Azure SQL-databas
I avsnittet Medlemsdatabas kan du lägga till en Azure SQL-databas till synkroniseringsgruppen genom att välja Lägg till en Azure-databas. Sidan Konfigurera Azure-databas öppnas.
På sidan Konfigurera Azure Database gör du följande:
I fältet Synkronisera medlemsnamn anger du den nya synkroniseringsmedlemmen. Det här namnet skiljer sig från namnet på själva databasen.
I fältet Prenumeration väljer du den associerade Azure-prenumerationen för faktureringsändamål.
I Azure SQL Server-fältet väljer du den befintliga SQL-databasservern.
I Azure SQL Database-fältet väljer du den befintliga SQL-databasen.
I fältet Synkroniseringsväg väljer du Dubbelriktad synkronisering, Till navet eller Från navet.
I fälten Användarnamn och Lösenord , ange befintliga referenser för SQL-databasservern där medlemsdatabasen finns. Ange inte nya referenser i det här avsnittet.
Välj OK och vänta tills den nya synkroniseringsmedlemmen skapas och distribueras.
Lägg till en lokal SQL Server-databas
I avsnittet Medlemsdatabas kan du eventuellt lägga till en lokal SQL Server i synkroniseringsgruppen genom att välja Lägg till en lokal databas. Lokalen öppnas.
På sidan Konfigurera lokaler gör du följande:
Välj Välj Sync Agent Gateway. Sidan Select Sync Agent öppnas .
På sidan Välj Sync Agent Gateway väljer du om du vill använda en befintlig agent eller skapa en ny agent.
Om du väljer Befintliga agenter, välj befintlig agent från listan.
Om du väljer Skapa en ny agent, gör följande:
a. Ladda ner programvaran för klientsynkroniseringsagenten från den länk som tillhandahålls och installera den på datorn där SQL Server finns.
Viktigt
Du måste öppna utgående TCP-port 1433 i brandväggen för att låta klientagenten kommunicera med servern.
b. Ange ett namn för agenten.
c. Välj Skapa och skapa nyckel.
d. Kopiera agentnyckeln till Urklipp.
e. Välj OK för att stänga sidan Select Sync Agent.
f. På SQL Server-datorn letar du efter och kör appen Client Sync Agent.
g. Välj Skicka agentnyckel i appen synkroniseringsagent. Dialogrutan Sync Metadata Database Configuration öppnas.
h. Klistra in agentnyckeln som kopierats från Azure-portalen i dialogrutan Sync Metadata Database Configuration. Ange också befintliga referenser för Azure SQL Database-servern där metadatabasen finns. (Om du skapade en ny metadatadatabas finns denna databas på samma server som hub-databasen.) Välj OK och vänta tills konfigurationen är klar.
Obs Om du får ett brandväggsfel vid denna tidpunkt måste du skapa en brandväggsregel på Azure för att tillåta inkommande trafik från SQL Server-datorn.Du kan skapa regeln manuellt i portalen, men det kan vara lättare att skapa den i SQL Server Management Studio (SSMS). Försök att ansluta till hub-databasen i Azure i SSMS. Ange dess namn som
<hub_database_name>.database.windows.net
. Följ stegen i dialogrutan för att konfigurera Azure-brandväggsregeln. Gå sedan tillbaka till appen Client Sync Agent.
i. Klicka på Registrera i appen Client Sync Agent för att registrera en SQL Server-databas hos agenten. Dialogrutan Konfiguration av SQL Server öppnas. j. Välj om du vill ansluta med SQL Server-autentisering eller Windows-autentisering i dialogrutan SQL Server Configuration. Om du väljer SQL Server-autentisering anger du befintliga referenser. Ange SQL Server-namnet och namnet på databasen som du vill synkronisera. Välj Testanslutning för att testa dina inställningar. Välj sedan Spara. Den registrerade databasen visas i listan.
k. Du kan nu stänga appen Client Sync Agent.
l. På sidan Konfigurera lokalt väljer du Välj databas i portalen. Sidan Välj databas öppnas.
m. På sidan Välj databas, i fältet Synkronisera medlemsnamn, ange ett namn för den nya synkroniseringsmedlemmen. Detta namn skiljer sig från namnet på själva databasen. Välj databasen från listan. I fältet Synkroniseringsväg väljer du Dubbelriktad synkronisering, Till navet eller Från navet.
n. Välj OK för att stänga sidan Välj databas. Välj sedan OK för att stänga sidan Konfigurera lokaler och vänta tills den nya synkroniseringsmedlem skapas och distribueras. Klicka slutligen på OK för att stänga sidan Välj synkroniseringsmedlemmar.
För att ansluta till SQL Data Sync och den lokala agenten, lägg till ditt användarnamn i rollen DataSync_Executor. Data Sync skapar denna roll i SQL Server-instansen.
Steg 3 – Konfigurera synkroniseringsgrupp
När de nya synkroniseringsgruppmedlemmarna har skapats och distribuerats, Steg 3, Konfigurera synkroniseringsgrupp, är markerad på sidan Ny synkroniseringsgrupp.
-
På sidan Tabeller väljer du en databas från listan över synkroniseringsgruppmedlemmar och väljer sedan Uppdatera schema .
-
I listan över tillgängliga tabeller väljer du de tabeller som du vill synkronisera.
-
Som standard är alla kolumner i tabellen väljs. Om du inte vill synkronisera alla kolumner, inaktivera kryssrutan för de kolumner som du inte vill synkronisera. Se till att lämna den primära nyckelkolumnen markerad.
-
Slutligen väljer du Spara.
SQL Data Sync är en tjänst som bygger på Azure SQL Database som låter dig synkronisera de data du väljer tvåvägs över flera SQL-databaser och SQL Server-instanser.
Datasynkronisering bygger på konceptet för en synkroniseringsgrupp. En synkroniseringsgrupp är en grupp databaser som du vill synkronisera.
Kommentarer
- Bara anekdotiskt, medan denna information är korrekt har jag upplevt ett stort antal problem med Azure Data Sync till den punkt där vi var tvungna att överge den som en lösning på vårt projekt. Det är inte ’ t för att säga att det inte ’ t skulle fungera för OP, bara att det finns fall där man lägger till en massa triggers till databasen för att upprätthålla tillstånd mellan två oberoende servrar är inte ’ t den bästa lösningen.