Tutorial: Set up SQL Data Sync between databases in Azure SQL Database and SQL Server

A következőre vonatkozik: Azure SQL Database

Ebben az oktatóanyagban megtudhatja, hogyan állíthat be SQL-adatszinkronizálás egy olyan szinkronizálási csoport létrehozásával, amely azure SQL Database- és SQL Server-példányokat is tartalmaz. A szinkronizálási csoport egyénileg van konfigurálva, és a beállított ütemezés szerint szinkronizálódik.

Az oktatóanyag feltételezi, hogy rendelkezik legalább néhány korábbi tapasztalattal az SQL Database és az SQL Server használatával.

A SQL-adatszinkronizálás áttekintése: Adatok szinkronizálása felhőbeli és helyszíni adatbázisokban SQL-adatszinkronizálás.

A SQL-adatszinkronizálás konfigurálására vonatkozó PowerShell-példákért lásd: Szinkronizálás az SQL Databaseadatbázisai vagy az Azure SQL Database és az SQL Server adatbázisai között

Fontos

A központi adatbázis egy szinkronizálási topológia központi végpontja, amelyben a szinkronizálási csoport több adatbázisvégpontot is használ. A szinkronizálási csoportban végpontokkal rendelkező összes többi tagadatbázis szinkronizálása a központi adatbázissal.

A SQL-adatszinkronizálás jelenleg csak az Azure SQL Database-ben támogatott. A központi adatbázisnak Azure SQL Database-adatbázisnak kell lennie.

Az Azure SQL Database Rugalmas skálázás csak tagadatbázisként támogatott, központi adatbázisként nem.

Szinkronizálási csoport létrehozása

  1. Nyissa meg az Azure Portalt. Meglévő Azure SQL Database kereséséhez és kiválasztásához keresse meg és válassza ki az SQL-adatbázisokat .

  2. Válassza ki a adatszinkronizálás központi adatbázisaként használni kívánt meglévő adatbázist.

  3. A kijelölt adatbázis SQL-adatbázis-erőforrás menüjének Adatkezelés területén válassza a Szinkronizálás más adatbázisokkal lehetőséget.

  4. A Szinkronizálás más adatbázisokkal lapon válassza az Új szinkronizálási csoport lehetőséget. Megnyílik a Adatszinkronizálás csoport létrehozása lap.

  5. A Adatszinkronizálás csoport létrehozása lapon konfigurálja a következő beállításokat:

    A screenshot from the Create Data Sync page of the Azure portal, creating a new Sync Metadata Database to use with Automatic Sync.

    Beállítás Leírás
    Csoportnév szinkronizálása Adja meg az új szinkronizálási csoport nevét. Ez a név különbözik az adatbázis nevétől.
    Metaadat-adatbázis szinkronizálása Válasszon adatbázist (ajánlott), vagy használjon meglévő adatbázist metaadat-szinkronizálási adatbázisként.

    A Microsoft azt javasolja, hogy hozzon létre egy új, üres adatbázist a metaadat-szinkronizálási adatbázisként való használatra. A metaadat-szinkronizálás táblákat hoz létre ebben az adatbázisban, és egy gyakori számítási feladatot futtat. Ez az adatbázis szinkronizált metaadat-adatbázisként van megosztva a kijelölt régióban és előfizetésben lévő összes szinkronizálási csoporthoz. Nem módosíthatja az adatbázist vagy annak nevét anélkül, hogy eltávolítaná a régió összes szinkronizálási csoportját és szinkronizálási ügynökét.

    Ha új adatbázist szeretne létrehozni, válassza az Új adatbázis lehetőséget. Válassza az Adatbázis-beállítások konfigurálása lehetőséget. Az SQL Database lapon adjon nevet és konfiguráljon egy új Azure SQL Database-t, és válassza az OK gombot.

    Ha a Meglévő adatbázis használata lehetőséget választja, válassza ki az adatbázist a Metaadat-adatbázis szinkronizálása legördülő listából.
    Automatikus szinkronizálás Válassza a Be vagy Ki lehetőséget.

    Ha a Be beállítást választja, adjon meg egy számot, és a Szinkronizálás gyakorisága szakaszban válassza a Másodpercek, Percek, Órák vagy Napok lehetőséget.
    Az első szinkronizálás azután kezdődik, hogy a kiválasztott időközi időszak el nem telik a konfiguráció mentésének időpontjától.
    Ütközésfeloldás Válassza a Hub win vagy a Member win lehetőséget.

    A hub win azt jelenti, hogy ütközések esetén a központi adatbázisban lévő adatok felülírják az ütköző adatokat a tagadatbázisban.

    A tag nyerése azt jelenti, hogy ütközések esetén a tagadatbázis adatai felülírják az ütköző adatokat a központi adatbázisban.
    Hub-adatbázis felhasználóneve és központi adatbázis jelszava Adja meg a felhasználónevet és a jelszót a kiszolgáló rendszergazdájának, az SQL által hitelesített bejelentkezésnek a Hub-adatbázishoz. Ez a kiszolgáló rendszergazdai felhasználóneve és jelszava ugyanahhoz az Azure SQL logikai kiszolgálóhoz, amelyen elindította. A Microsoft Entra (korábbi nevén Azure Active Directory) hitelesítése jelenleg nem támogatott.
    Privát hivatkozás használata Válasszon egy szolgáltatás által felügyelt privát végpontot a szinkronizálási szolgáltatás és a központi adatbázis közötti biztonságos kapcsolat létrehozásához.
  6. Válassza az OK gombot, és várja meg a szinkronizálási csoport létrehozását és üzembe helyezését.

  7. Az Új szinkronizálási csoport lapon, ha a Privát hivatkozás használata lehetőséget választotta, jóvá kell hagynia a privát végpontkapcsolatot. Az információs üzenetben található hivatkozás a privát végponti kapcsolatok felületére viszi, ahol jóváhagyhatja a kapcsolatot.

    A screenshot from the Azure portal Private Endpoint connections page, showing where to approve a private link.

    Megjegyzés:

    A szinkronizálási csoport és a szinkronizálási tagok privát hivatkozásait külön kell létrehozni, jóváhagyni és letiltani.

Szinkronizálási tagok hozzáadása

Az új szinkronizálási csoport létrehozása és üzembe helyezése után nyissa meg a szinkronizálási csoportot, és nyissa meg az Adatbázisok lapot, ahol kiválaszthatja a szinkronizálási tagokat.

Megjegyzés:

Ha frissíteni vagy be szeretné szúrni a felhasználónevet és a jelszót a központi adatbázisba, lépjen a Szinkronizálási tagok kiválasztása lap Központi adatbázis szakaszára.

Adatbázis hozzáadása az Azure SQL Database-ben tagként egy szinkronizálási csoporthoz

  1. A Szinkronizálási tagok kiválasztása szakaszban igény szerint adjon hozzá adatbázist az Azure SQL Database-ben a szinkronizálási csoporthoz az Azure Database hozzáadása lehetőség kiválasztásával. Megnyílik az Azure Database konfigurálása lap.

    A screenshot from the Azure portal of the Configure Azure Database page, where you can add a database to the sync group.

  2. Az Azure SQL Database konfigurálása lapon módosítsa a következő beállításokat:

    Beállítás Leírás
    Tagnév szinkronizálása Adja meg az új szinkronizálási tag nevét. Ez a név különbözik az adatbázis nevétől.
    Előfizetés Válassza ki a kapcsolódó Azure-előfizetést számlázási célokra.
    Azure SQL Server Válassza ki a meglévő kiszolgálót.
    Azure SQL Database Válassza ki a meglévő adatbázist az SQL Database-ben.
    Szinkronizálási irányok A szinkronizálási irány lehet hubról tagra, tagról központra vagy mindkettőre. Válassza a Központ, a Központ vagy a Kétirányú szinkronizálás lehetőséget. További információ: Hogyan működik.
    Felhasználónév és jelszó Adja meg annak a kiszolgálónak a meglévő hitelesítő adatait, amelyen a tagadatbázis található. Ebben a szakaszban ne adjon meg új hitelesítő adatokat.
    Privát hivatkozás használata Válasszon egy szolgáltatás által felügyelt privát végpontot a szinkronizálási szolgáltatás és a tagadatbázis közötti biztonságos kapcsolat létrehozásához.
  3. Válassza az OK gombot, és várja meg az új szinkronizálási tag létrehozását és üzembe helyezését.

Adatbázis hozzáadása egy SQL Server-példányon tagként egy szinkronizálási csoporthoz

  1. A Tagadatbázis szakaszban igény szerint adjon hozzá adatbázist egy SQL Server-példányban a szinkronizálási csoporthoz a Helyszíni adatbázis hozzáadása lehetőséget választva.

  2. Megnyílik a Helyszíni konfigurálás lap, ahol a következő műveleteket végezheti el:

  3. Válassza a Szinkronizálási ügynök átjáró kiválasztása lehetőséget. Megnyílik a Szinkronizálási ügynök kiválasztása lap.

    A screenshot from the Azure portal, in the Configure On-Premises steps. When the Choose the Sync Agent Gateway option is selected, the Select Sync Agent page is shown.

  4. A Szinkronizálási ügynök kiválasztása lapon adja meg, hogy meglévő ügynököt szeretne-e használni, vagy hozzon létre egy ügynököt.

    Ha a Meglévő ügynökök lehetőséget választja, válassza ki a meglévő ügynököt a listából.

    Ha új ügynök létrehozása lehetőséget választja, tegye a következőket:

    1. Töltse le az adatszinkronizálási ügynököt a megadott hivatkozásról, és telepítse az SQL Server-példánytól eltérő kiszolgálóra. Az ügynököt közvetlenül Azure SQL-adatszinkronizálás Ügynökből is letöltheti. A szinkronizálási ügyfélügynökkel kapcsolatos ajánlott eljárásokért tekintse meg a Azure SQL-adatszinkronizálás ajánlott eljárásait.

      Fontos

      Meg kell nyitnia az 1433-at kimenő TCP-portot a tűzfalon, hogy az ügyfélügynök kommunikáljon a kiszolgálóval.

    2. Adja meg az ügynök nevét.

    3. Válassza a Kulcs létrehozása és létrehozása lehetőséget, és másolja az ügynökkulcsot a vágólapra.

    4. A Szinkronizálási ügynök kiválasztása lap bezárásához kattintson az OK gombra.

  5. Azon a kiszolgálón, amelyen telepítve van a szinkronizálási ügyfélügynök, keresse meg és futtassa az Ügyfélszinkronizálási ügynök alkalmazást.

    A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. The Submit Agent Key button is highlighted.

    1. A szinkronizálási ügynök alkalmazásban válassza az Ügynökkulcs elküldése lehetőséget. Megnyílik a Metaadat-adatbázis konfigurációjának szinkronizálása párbeszédpanel.

    2. A Metaadatok szinkronizálása adatbázis-konfiguráció párbeszédpanelen illessze be az Azure Portalról másolt ügynökkulcsot. Adja meg annak a kiszolgálónak a meglévő hitelesítő adatait is, amelyen a Metaadat-adatbázis szinkronizálása adatbázis található. Válassza az OK gombot, és várja meg, amíg a konfiguráció befejeződik.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Enter the agent key and server credentials.

      Megjegyzés:

      Ha tűzfalhiba lép fel, hozzon létre egy tűzfalszabályt az Azure-ban, amely engedélyezi a bejövő forgalmat az SQL Server-számítógépről. A szabályt manuálisan is létrehozhatja a portálon vagy az SQL Server Management Studióban (SSMS). Az SSMS-ben csatlakozzon a központi adatbázishoz az Azure-ban a nevének <hub_database_name>.database.windows.netmegadásával.

    3. Válassza a Regisztráció lehetőséget egy SQL Server-adatbázis ügynökkel való regisztrálásához. Megnyílik az SQL Server Konfiguráció párbeszédpanelje.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Add and configure a SQL Server database.

    4. Az SQL Server konfigurációs párbeszédpanelen válassza az SQL Server-hitelesítéssel vagy a Windows-hitelesítéssel való csatlakozást. Ha AZ SQL Server-hitelesítést választja, adja meg a meglévő hitelesítő adatokat. Adja meg az SQL Server nevét és a szinkronizálni kívánt adatbázis nevét, majd válassza a Kapcsolat tesztelése lehetőséget a beállítások teszteléséhez. Ezután válassza a Mentés lehetőséget, és a regisztrált adatbázis megjelenik a listában.

      A screenshot from the Microsoft SQL Data Sync 2.0 application showing that the SQL Server database and machine are now registered.

    5. Zárja be az Ügyfélszinkronizálási ügynök alkalmazást.

  6. Az Azure Portal Helyszíni konfigurálás lapján válassza az Adatbázis kiválasztása lehetőséget.

  7. Az Adatbázis kiválasztása lapon, a Tag szinkronizálása mezőben adja meg az új szinkronizálási tag nevét. Ez a név különbözik az adatbázis nevétől. Válassza ki az adatbázist a listából. A Szinkronizálási irányok mezőben válassza a Kétirányú szinkronizálás, a Központhoz vagy a Központból lehetőséget.

  8. Az ADATBÁZIS kiválasztása lap bezárásához kattintson az OK gombra. Ezután az OK gombra kattintva zárja be a Helyszíni konfigurálás lapot, és várja meg az új szinkronizálási tag létrehozását és üzembe helyezését. Végül az OK gombra kattintva zárja be a Szinkronizálási tagok kiválasztása lapot.

Megjegyzés:

Ha csatlakozni szeretne SQL-adatszinkronizálás és a helyi ügynökhöz, adja hozzá a felhasználónevet a szerepkörhöz DataSync_Executor. adatszinkronizálás létrehozza ezt a szerepkört az SQL Server-példányon.

Szinkronizálási csoport konfigurálása

Az új szinkronizálási csoporttagok létrehozása és üzembe helyezése után lépjen az Adatbázis-szinkronizálási csoport lap Táblák szakaszára.

A screenshot from the Azure portal, on the Tables page, select tables and fields to sync.

  1. A Táblák lapon válasszon ki egy adatbázist a szinkronizálási csoporttagok listájából, és válassza a Séma frissítése lehetőséget. A frissítési séma néhány perces késéssel számolhat, privát hivatkozás használata esetén a késés néhány perccel hosszabb is lehet.

  2. A listából válassza ki a szinkronizálni kívánt táblákat. Alapértelmezés szerint minden oszlop ki van jelölve, ezért tiltsa le a nem szinkronizálni kívánt oszlopok jelölőnégyzetét. Ügyeljen arra, hogy az elsődleges kulcs oszlopa legyen kijelölve.

  3. Válassza a Mentés parancsot.

  4. Alapértelmezés szerint az adatbázisok nem szinkronizálódnak az ütemezett vagy manuális futtatásig. Manuális szinkronizálás futtatásához keresse meg az adatbázist az Azure Portalon az SQL Database-ben, válassza a Szinkronizálás más adatbázisokkal lehetőséget, és válassza ki a szinkronizálási csoportot. Megnyílik a adatszinkronizálás lap. Válassza a Szinkronizálás elemet.

    A screenshot from the Azure portal showing the manual sync button for a Database Sync Group.

GYIK

Ez a szakasz a Azure SQL-adatszinkronizálás szolgáltatással kapcsolatos gyakori kérdésekre ad választ.

Teljesen SQL-adatszinkronizálás táblákat létrehozni?

Ha a szinkronizálási sématáblák hiányoznak a céladatbázisból, az SQL-adatszinkronizálás létrehozza azokat a kiválasztott oszlopokkal. Ez azonban a következő okokból nem eredményez teljes hűségséma-sémát:

  • Csak az Ön által kiválasztott oszlopok jönnek létre a céltáblában. A nem kiválasztott oszlopokat a program figyelmen kívül hagyja.
  • Csak a kiválasztott oszlopindexek jönnek létre a céltáblában. A nem kiválasztott oszlopok indexeit a program figyelmen kívül hagyja.
  • XML típusú oszlopok esetében az indexek nem lesznek létrehozva.
  • A CHECK korlátozások nem lesznek létrehozva.
  • A triggerek nem lesznek létrehozva a forrástáblákban.
  • Nézetek és tárolt eljárások nem lesznek létrehozva.

E korlátozások miatt javasoljuk a következőket:

  • Éles környezetekben saját maga hozza létre a teljes hűségű sémát.
  • A szolgáltatással való kísérletezéshez használja az automatikus kiépítési funkciót.

Miért látok olyan táblákat, amelyeket nem hoztam létre?

adatszinkronizálás további táblákat hoz létre az adatbázisban a változáskövetéshez. Ne törölje ezeket, vagy adatszinkronizálás nem működik.

Szinkronizált adatok konvergensek?

Nem feltétlenül. Vegyen fel egy szinkronizálási csoportot egy központtal és három küllővel (A, B és C), ahol a szinkronizálások a Hub–A, a Hub–B és a Hub–C. Ha az A adatbázist a Hubról A-szinkronizálásra módosítják, a módosítás a következő szinkronizálási feladatig nem lesz beírva a B adatbázisba vagy a C adatbázisba.

Hogyan a sémamódosításokat szinkronizálási csoportba?

Végezze el és propagálja manuálisan az összes sémamódosítást.

  1. A sémamódosítások manuális replikálása a központra és az összes szinkronizálási tagra.
  2. Frissítse a szinkronizálási sémát.

Új táblák és oszlopok hozzáadásához:

Az új táblák és oszlopok nem befolyásolják az aktuális szinkronizálást, és adatszinkronizálás figyelmen kívül hagyja őket, amíg fel nem veszik őket a szinkronizálási sémába. Új adatbázis-objektumok hozzáadásakor kövesse a következő sorrendet:

  1. Új táblák vagy oszlopok hozzáadása a központhoz és az összes szinkronizálási taghoz.
  2. Új táblák vagy oszlopok hozzáadása a szinkronizálási sémához.
  3. Kezdje el az értékek beszúrását az új táblákba és oszlopokba.

Oszlop adattípusának módosítása:

Egy meglévő oszlop adattípusának módosításakor a adatszinkronizálás továbbra is működni fog, amíg az új értékek megfelelnek a szinkronizálási sémában definiált eredeti adattípusnak. Ha például a forrásadatbázis típusát intről bigintre módosítja, adatszinkronizálás továbbra is működni fog, amíg be nem szúr egy túl nagy értéket az int adattípushoz. A módosítás befejezéséhez replikálja manuálisan a sémamódosítást a központba és az összes szinkronizálási tagra, majd frissítse a szinkronizálási sémát.

Hogyan exportálhatok és importálhatok adatbázist adatszinkronizálás?

Miután exportált egy adatbázist fájlként.bacpac, és importálta a fájlt egy adatbázis létrehozásához, tegye a következőket az új adatbázis adatszinkronizálás használatához:

  1. Az új adatbázis adatszinkronizálás objektumainak és további tábláinak megtisztítása adatszinkronizálás complete cleanup.sql használatával. A szkript törli az összes szükséges adatszinkronizálás objektumot az adatbázisból.
  2. Hozza létre újra a szinkronizálási csoportot az új adatbázissal. Ha már nincs szüksége a régi szinkronizálási csoportra, törölje azt.

Hol találhatok információt az ügyfélügynökről?

Az ügyfélügynökkel kapcsolatos gyakori kérdésekért tekintse meg az ügynökkel kapcsolatos gyakori kérdéseket.

Szükséges manuálisan jóváhagyni a hivatkozást, mielőtt elkezdhetem használni?

Igen. Manuálisan kell jóváhagynia a szolgáltatás által felügyelt privát végpontot az Azure Portal Privát végpont kapcsolatok lapján a szinkronizálási csoport üzembe helyezése során vagy a PowerShell használatával.

Miért kapok tűzfalhibát, amikor a Szinkronizálási feladat üzembe helyezi az Azure-adatbázisomat?

Ez azért fordulhat elő, mert az Azure-erőforrások nem férhetnek hozzá a kiszolgálóhoz. Két megoldás létezik:

  1. Győződjön meg arról, hogy az Azure-adatbázis tűzfala igen értékre állította be a kiszolgálóelérését az Azure-szolgáltatások és -erőforrások számára. További információ: Azure SQL Database és hálózati hozzáférés-vezérlők.
  2. Konfiguráljon egy privát kapcsolatot adatszinkronizálás, amely eltér az Azure Private Linktől. A Private Link segítségével biztonságos kapcsolattal hozhat létre szinkronizálási csoportokat a tűzfal mögött található adatbázisokkal. SQL-adatszinkronizálás Private Link a Microsoft által felügyelt végpont, és belsőleg létrehoz egy alhálózatot a meglévő virtuális hálózaton belül, így nincs szükség másik virtuális hálózat vagy alhálózat létrehozására.

További lépések

Gratulálunk! Létrehozott egy szinkronizálási csoportot, amely egy Azure SQL-adatbázist és egy SQL Server-adatbázist is tartalmaz.

További információ az SQL Data Syncről:

További információ az SQL Database-ről: