What is SQL Data Sync for Azure?
A következőre vonatkozik: Azure SQL Database
SQL-adatszinkronizálás egy Azure SQL Database-alapú szolgáltatás, amely lehetővé teszi a kiválasztott adatok kétirányú szinkronizálását több adatbázis között, mind a helyszínen, mind a felhőben.
Fontos
Azure SQL-adatszinkronizálás jelenleg nem támogatja a felügyelt Azure SQL-példányt vagy az Azure Synapse Analyticset.
Áttekintés
adatszinkronizálás a szinkronizálási csoport fogalmán alapul. A szinkronizálási csoport olyan adatbáziscsoport, amelyet szinkronizálni szeretne.
adatszinkronizálás egy küllős topológiát használ az adatok szinkronizálásához. A szinkronizálási csoport egyik adatbázisát központi adatbázisként definiálhatja. A többi adatbázis tagadatbázis. A szinkronizálás csak a központ és az egyes tagok között történik.
- A központi adatbázisnak Azure SQL Database-adatbázisnak kell lennie.
- A tagadatbázisok lehetnek adatbázisok az Azure SQL Database-ben vagy az SQL Server példányaiban.
- A Metaadatok szinkronizálása adatbázis tartalmazza a adatszinkronizálás metaadatait és naplói. A metaadat-szinkronizálási adatbázisnak egy Olyan Azure SQL Database-adatbázisnak kell lennie, amely ugyanabban a régióban található, mint a központi adatbázis. A Metaadat-szinkronizálási adatbázis az ügyfél által létrehozott és az ügyfél tulajdonában lévő. Régiónként és előfizetésenként csak egy metaadat-szinkronizálási adatbázisa lehet. A szinkronizálási metaadat-adatbázis nem törölhető vagy átnevezhető, amíg szinkronizálási csoportok vagy szinkronizálási ügynökök léteznek. 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.
Megjegyzés:
Ha egy helyszíni adatbázist használ tagadatbázisként, telepítenie és konfigurálnia kell egy helyi szinkronizálási ügynököt.
A szinkronizálási csoportok a következő tulajdonságokkal rendelkeznek:
- A szinkronizálási séma leírja, hogy mely adatok szinkronizálódnak.
- A szinkronizálási irány lehet kétirányú, vagy csak egy irányban haladhat. Ez azt is jelentheti, hogy a szinkronizálási irány lehet hubról tagra, tagról központra vagy mindkettőre.
- A szinkronizálási időköz a szinkronizálás gyakoriságát ismerteti.
- Az ütközésfeloldási szabályzat egy csoportszintű szabályzat, amely lehet a Hub nyertese vagy a Tag nyer.
Mikor érdemes használni?
adatszinkronizálás akkor hasznos, ha az adatokat több adatbázison is frissíteni kell az Azure SQL Database-ben vagy az SQL Serveren. A adatszinkronizálás fő felhasználási esetei a következők:
- Hibrid adatszinkronizálás hronizálás: A adatszinkronizálás segítségével szinkronizálhatja az adatokat az SQL Server és az Azure SQL Database adatbázisai között a hibrid alkalmazások engedélyezéséhez. Ez a funkció vonzó lehet azoknak az ügyfeleknek, akik a felhőbe való áttérést fontolgatják, és szeretnék az alkalmazásuk egy részét az Azure-ba helyezni.
- Elosztott alkalmazások: Sok esetben előnyös a különböző számítási feladatok elkülönítése különböző adatbázisok között. Ha például nagy éles adatbázissal rendelkezik, de jelentéskészítési vagy elemzési számítási feladatot is futtatnia kell ezen az adatokon, hasznos lehet, ha egy második adatbázissal rendelkezik ehhez a további számítási feladathoz. Ez a megközelítés minimálisra csökkenti az éles számítási feladat teljesítményre gyakorolt hatását. A adatszinkronizálás használatával szinkronizálhatja ezt a két adatbázist.
- Globálisan elosztott alkalmazások: Számos vállalkozás több régióra, sőt akár több országra/régióra is kiterjed. A hálózati késés minimalizálása érdekében a legjobb, ha az adatok egy Önhöz közeli régióban vannak. A adatszinkronizálás segítségével egyszerűen szinkronizálhatja az adatbázisokat a világ minden táján.
adatszinkronizálás nem a következő forgatókönyvek előnyben részesített megoldása:
Eset | Néhány ajánlott megoldás |
---|---|
Disaster Recovery | Azure georedundáns biztonsági másolatok |
Olvasási skálázás | Írásvédett replikák használata írásvédett lekérdezési számítási feladatok terheléselosztásához |
ETL (OLTP–OLAP) | Azure Data Factory vagy SQL Server Integration Services |
Migrálás AZ SQL Serverről az Azure SQL Database-be. A SQL-adatszinkronizálás azonban a migrálás befejezése után is használható, hogy a forrás és a cél szinkronban maradjon. | Azure Database Migration Service |
Hogyan működik?
- Adatváltozások nyomon követése: adatszinkronizálás nyomon követi a változásokat beszúrási, frissítési és törlési eseményindítók használatával. A módosítások a felhasználói adatbázis egyik oldaltáblájában vannak rögzítve. A BULK IN Standard kiadás RT alapértelmezés szerint nem aktiválja az eseményindítókat. Ha nincs megadva FIRE_TRIGGERS, nem hajtanak végre beszúrási eseményindítókat. Adja hozzá a FIRE_TRIGGERS beállítást, hogy adatszinkronizálás nyomon tudja követni ezeket a beszúrásokat.
- Adatok szinkronizálása: a adatszinkronizálás egy küllős modellben tervezték. A központ külön-külön szinkronizálja az egyes tagokat. A rendszer letölti a hub módosításait a tagra, majd a rendszer feltölti a módosításokat a központba.
- Ütközések feloldása: adatszinkronizálás két lehetőséget kínál az ütközések feloldására, a hub nyer vagy a tag nyer.
- Ha a Hubot választja, a hub módosításai mindig felülírják a tag módosításait.
- Ha a Tagot választja, a tag módosításai felülírják a módosításokat a központban. Ha egynél több tag van, a végső érték attól függ, hogy melyik tag szinkronizál először.
Összehasonlítás a tranzakciós replikációval
Adatszinkronizálás | Tranzakciós replikáció | |
---|---|---|
Előnye | - Aktív-aktív támogatás – Kétirányú a helyszíni és az Azure SQL Database között |
– Kisebb késés - Tranzakciós konzisztencia – Meglévő topológia újrafelhasználása a migrálás után -Felügyelt Azure SQL-példány támogatása |
Hátrányai | - Nincs tranzakciós konzisztencia - Nagyobb teljesítményhatás |
– Nem lehet közzétenni az Azure SQL Database-ből - Magas karbantartási költség |
Privát hivatkozás adatszinkronizálás
Megjegyzés:
A SQL-adatszinkronizálás privát kapcsolat eltér az Azure Private Linktől.
Az új privát kapcsolat funkció lehetővé teszi egy szolgáltatás által felügyelt privát végpont kiválasztását, hogy biztonságos kapcsolatot létesítsen a szinkronizálási szolgáltatás és a tag/központ adatbázisai között az adatszinkronizálási folyamat során. A szolgáltatás által felügyelt privát végpont egy adott virtuális hálózaton és alhálózaton belüli magánhálózati IP-cím. A adatszinkronizálás a szolgáltatás által felügyelt privát végpontot a Microsoft hozza létre, és kizárólag az adatszinkronizálás szolgáltatás használja egy adott szinkronizálási művelethez.
A privát hivatkozás beállítása előtt olvassa el a funkció általános követelményeit .
Megjegyzés:
A szolgáltatás által felügyelt privát végpontot manuálisan kell jóváhagynia 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.
Első lépések
Adatszinkronizálás beállítása az Azure Portalon
- Az Azure SQL Data Sync beállítása
- adatszinkronizálás ügynök – adatszinkronizálás ügynök Azure SQL-adatszinkronizálás
Adatszinkronizálás beállítása a PowerShell-lel
- Szinkronizálás több adatbázis között a PowerShell használatával az Azure SQL Database-ben
- Szinkronizálás az Azure SQL Database-ben lévő adatbázisok és egy SQL Server-példány adatbázisai között a PowerShell használatával
Adatszinkronizálás beállítása a REST API-val
A adatszinkronizálás ajánlott eljárásainak áttekintése
Hiba történt
Konzisztencia és teljesítmény
Végleges konzisztencia
Mivel adatszinkronizálás eseményindító-alapú, a tranzakciós konzisztencia nem garantált. A Microsoft garantálja, hogy az összes módosítást végül elvégezik, és hogy adatszinkronizálás nem okoz adatvesztést.
Performance impact
adatszinkronizálás beszúrási, frissítési és törlési eseményindítókat használ a változások nyomon követéséhez. Oldaltáblákat hoz létre a felhasználói adatbázisban a változáskövetéshez. Ezek a változáskövetési tevékenységek hatással vannak az adatbázis számítási feladataira. Értékelje ki a szolgáltatási szintet, és szükség esetén frissítsen.
A szinkronizálási csoportok létrehozása, frissítése és törlése során végzett kiépítés és leépítés az adatbázis teljesítményét is befolyásolhatja.
Követelmények és korlátozások
Általános követelmények
- Minden táblának elsődleges kulccsal kell rendelkeznie. Ne módosítsa az elsődleges kulcs értékét egyik sorban sem. Ha módosítania kell egy elsődleges kulcs értékét, törölje a sort, és hozza létre újra az új elsődleges kulcsértékkel.
Fontos
Egy meglévő elsődleges kulcs értékének módosítása a következő hibás viselkedést eredményezi:
- A központ és a tag közötti adatok elveszhetnek, annak ellenére, hogy a szinkronizálás nem jelent problémát.
- A szinkronizálás meghiúsulhat, mert a nyomkövetési tábla nem létező sort tartalmaz a forrásból az elsődleges kulcs módosítása miatt.
A pillanatkép-elkülönítést engedélyezni kell a Szinkronizálási tagok és a Központ számára is. További információ: Pillanatkép-elkülönítés az SQL Serveren.
A adatszinkronizálás privát kapcsolat használatához a tag- és a központi adatbázist is az Azure-ban (azonos vagy különböző régiókban) kell üzemeltetni, ugyanabban a felhőtípusban (például nyilvános felhőben vagy kormányzati felhőben egyaránt). Emellett a privát kapcsolat
Microsoft.Network
használatához az erőforrás-szolgáltatóknak regisztrálniuk kell azokat az előfizetéseket, amelyek a központot és a tagkiszolgálókat üzemeltetik. Végül manuálisan kell jóváhagynia a adatszinkronizálás privát hivatkozását a szinkronizálási konfiguráció során, az Azure Portal "Privát végpontkapcsolatok" szakaszában vagy a PowerShellen keresztül. A privát hivatkozás jóváhagyásáról további információt a SQL-adatszinkronizálás beállítása című témakörben talál. A szolgáltatás által felügyelt privát végpont jóváhagyása után a szinkronizálási szolgáltatás és a tag/központ adatbázisai közötti összes kommunikáció a privát kapcsolaton keresztül történik. A meglévő szinkronizálási csoportok frissíthetők, hogy engedélyezve legyen ez a funkció.
General limitations
- A table can't have an identity column that isn't the primary key.
- A primary key can't have the following data types: sql_variant, binary, varbinary, image, xml.
- Be cautious when you use the following data types as a primary key, because the supported precision is only to the second: time, datetime, datetime2, datetimeoffset.
- The names of objects (databases, tables, and columns) can't contain the printable characters period (
.
), left square bracket ([
), or right square bracket (]
). - A table name can't contain printable characters:
! " # $ % ' ( ) * + -
or space. - A Microsoft Entra (korábbi nevén Azure Active Directory) hitelesítése nem támogatott.
- If there are tables with the same name but different schema (for example,
dbo.customers
andsales.customers
) only one of the tables can be added into sync. - Columns with user-defined data types aren't supported.
- Moving servers between different subscriptions isn't supported.
- If two primary keys are only different in case (for example,
Foo
andfoo
), Data Sync won't support this scenario. - A táblák csonkolása nem adatszinkronizálás által támogatott művelet (a módosítások nem lesznek nyomon követve).
- Az Azure SQL Rugalmas skálázású adatbázis központi vagy szinkronizálási metaadat-adatbázisként való használata nem támogatott. However, a Hyperscale database can be a member database in a Data Sync topology.
- A memóriaoptimalizált táblák nem támogatottak.
- Schema changes aren't automatically replicated. A custom solution can be created to automate the replication of schema changes.
- Data Sync supports only the following two index properties: Unique, Clustered/Non-Clustered. Az indexek egyéb tulajdonságai, például a IGNORE_DUP_KEY vagy a WHERE szűrő predikátum nem támogatottak, és a célindex ezen tulajdonságok nélkül is ki van építve, még akkor is, ha a forrásindex rendelkezik ezekkel a tulajdonságokkal.
- Az Azure Elastic-feladatok adatbázisa nem használható SQL-adatszinkronizálás metaadat-adatbázisként, és fordítva.
- SQL-adatszinkronizálás a főkönyv-adatbázisok nem támogatottak.
Nem támogatott adattípusok
- FileStream
- SQL/CLR UDT
- XMLSchemaCollection (XML-támogatás)
- Kurzor, RowVersion, Időbélyeg, Hierarchyid
Nem támogatott oszloptípusok
adatszinkronizálás nem szinkronizálhatók írásvédett vagy rendszer által létrehozott oszlopok. Például:
- Számított oszlopok.
- Rendszer által létrehozott oszlopok időbeli táblákhoz.
A szolgáltatás és az adatbázis dimenzióinak korlátozásai
Méretek | Korlát | Áthidaló megoldás |
---|---|---|
Az adatbázisokhoz tartozó szinkronizálási csoportok maximális száma. | 5 | |
Végpontok maximális száma egyetlen szinkronizálási csoportban | 30 | |
A helyszíni végpontok maximális száma egyetlen szinkronizálási csoportban. | 5 | Több szinkronizálási csoport létrehozása |
Adatbázis-, tábla-, séma- és oszlopnevek | Név szerint 50 karakter | |
Táblák szinkronizálási csoportban | 500 | Több szinkronizálási csoport létrehozása |
Egy táblázat oszlopai szinkronizálási csoportban | 1000 | |
Adatsor mérete egy táblán | 24 Mb |
Megjegyzés:
Egyetlen szinkronizálási csoportban legfeljebb 30 végpont lehet, ha csak egy szinkronizálási csoport van. Ha több szinkronizálási csoport is van, az összes szinkronizálási csoport végpontjainak teljes száma nem haladhatja meg a 30-at. Ha egy adatbázis több szinkronizálási csoporthoz tartozik, az több végpontnak számít, nem pedig egynek.
Hálózati követelmények
Megjegyzés:
Ha privát szinkronizálási kapcsolatot használ, ezek a hálózati követelmények nem érvényesek.
A szinkronizálási csoport létrehozásakor a adatszinkronizálás szolgáltatásnak csatlakoznia kell a központi adatbázishoz. A szinkronizálási csoport létrehozásakor az Azure SQL Servernek a következő konfigurációval kell rendelkeznie Firewalls and virtual networks
a beállításaiban:
- A nyilvános hálózati hozzáférés megtagadását ki kell kapcsolni.
- A kiszolgáló elérésének engedélyezése az Azure-szolgáltatásoknak és -erőforrásoknak Igen értékre kell állítani, vagy ip-szabályokat kell létrehoznia az adatszinkronizálás szolgáltatás által használt IP-címekhez.
A szinkronizálási csoport létrehozása és kiépítése után letilthatja ezeket a beállításokat. A szinkronizálási ügynök közvetlenül a központi adatbázishoz csatlakozik, és a kiszolgáló tűzfalÁNAK IP-szabályaival vagy privát végpontjaival engedélyezheti, hogy az ügynök hozzáférjen a központi kiszolgálóhoz.
Megjegyzés:
Ha módosítja a szinkronizálási csoport sémabeállítását, engedélyeznie kell, hogy a adatszinkronizálás szolgáltatás ismét hozzáférhessen a kiszolgálóhoz, hogy a központi adatbázis újra kiépítve legyen.
Régióadatok tartózkodási helye
Ha ugyanazon a régión belül szinkronizál adatokat, SQL-adatszinkronizálás nem tárolja/dolgozza fel az ügyféladatokat azon a régión kívül, ahol a szolgáltatáspéldány telepítve van. Ha az adatokat különböző régiók között szinkronizálja, SQL-adatszinkronizálás replikálja az ügyféladatokat a párosított régiókba.
Gyakori kérdések a SQL-adatszinkronizálás
Mennyibe kerül a SQL-adatszinkronizálás szolgáltatás?
A SQL-adatszinkronizálás szolgáltatásért maga a szolgáltatás nem számít fel díjat. Az SQL Database-példányon belüli és onnan kimenő adatáthelyezési díjakat azonban továbbra is be kell fizetnie. További információkért tekintse meg az adatátviteli díjakat.
Mely régiók támogatják a adatszinkronizálás?
SQL-adatszinkronizálás minden régióban elérhető.
Szükség van SQL Database-fiókra?
Igen. A központi adatbázis üzemeltetéséhez SQL Database-fiókkal kell rendelkeznie.
Használhatom a adatszinkronizálás csak SQL Server-adatbázisok közötti szinkronizálást?
Közvetlenül nem. Az SQL Server-adatbázisok között azonban közvetve is szinkronizálhat, ha létrehoz egy Központi adatbázist az Azure-ban, majd hozzáadja a helyszíni adatbázisokat a szinkronizálási csoporthoz.
Konfigurálhatok adatszinkronizálás a különböző előfizetésekhez tartozó Azure SQL Database-adatbázisok közötti szinkronizálásra?
Igen. A különböző előfizetések tulajdonában lévő erőforráscsoportokhoz tartozó adatbázisok közötti szinkronizálást akkor is konfigurálhatja, ha az előfizetések különböző bérlőkhöz tartoznak.
- Ha az előfizetések ugyanahhoz a bérlőhöz tartoznak, és minden előfizetéshez rendelkezik engedéllyel, konfigurálhatja a szinkronizálási csoportot az Azure Portalon.
- Ellenkező esetben a Szinkronizálási tagok hozzáadásához a PowerShellt kell használnia.
Beállíthatok adatszinkronizálás szinkronizálni a különböző felhőkhöz (például az Azure Nyilvános felhőhöz és a 21Vianet által üzemeltetett Azure-hoz) tartozó SQL Database-adatbázisok között?
Igen. Beállíthatja a különböző felhőkhöz tartozó adatbázisok közötti szinkronizálást. A PowerShell használatával kell hozzáadnia a különböző előfizetésekhez tartozó szinkronizálási tagokat.
Használhatom a adatszinkronizálás az éles adatbázis adatainak üres adatbázisba való bevetéséhez, majd szinkronizálásához?
Igen. Hozza létre manuálisan a sémát az új adatbázisban az eredeti szkripttel. A séma létrehozása után adja hozzá a táblákat egy szinkronizálási csoporthoz az adatok másolásához és szinkronizálásához.
Használjam a SQL-adatszinkronizálás az adatbázisaim biztonsági mentéséhez és visszaállításához?
Nem ajánlott SQL-adatszinkronizálás használatával biztonsági másolatot készíteni az adatokról. Nem lehet biztonsági másolatot készíteni és visszaállítani egy adott időpontra, mert SQL-adatszinkronizálás szinkronizálások nem verziószámozottak. Ezenkívül a SQL-adatszinkronizálás nem készít biztonsági másolatot más SQL-objektumokról, például a tárolt eljárásokról, és nem végez gyors visszaállítási műveletet.
Egy ajánlott biztonsági mentési technikát az Adatbázis másolása az Azure SQL Database-ben című témakörben talál.
Szinkronizálhatja a titkosított táblákat és oszlopokat adatszinkronizálás?
- Ha egy adatbázis Always Encryptedet használ, csak a nem titkosított táblákat és oszlopokat szinkronizálhatja. Nem szinkronizálhatja a titkosított oszlopokat, mert adatszinkronizálás nem tudja visszafejteni az adatokat.
- Ha egy oszlop oszlopszintű titkosítást (CLE) használ, szinkronizálhatja az oszlopot, ha a sorméret kisebb, mint a maximális mérete 24 Mb. adatszinkronizálás a kulcs (CLE) által titkosított oszlopot normál bináris adatként kezeli. A többi szinkronizálási tag adatainak visszafejtéséhez ugyanazzal a tanúsítvánnyal kell rendelkeznie.
Támogatott a rendezés a SQL-adatszinkronizálás?
Igen. SQL-adatszinkronizálás támogatja a rendezési beállítások konfigurálását az alábbi esetekben:
- Ha a kijelölt szinkronizálási sématáblák még nincsenek a központi vagy tagadatbázisokban, akkor a szinkronizálási csoport telepítésekor a szolgáltatás automatikusan létrehozza a megfelelő táblákat és oszlopokat az üres céladatbázisokban kijelölt rendezési beállításokkal.
- Ha a szinkronizálandó táblák már léteznek a központi és a tagadatbázisokban is, SQL-adatszinkronizálás megköveteli, hogy az elsődleges kulcsoszlopok rendezése megegyezik a központ és a tagadatbázisok között a szinkronizálási csoport sikeres üzembe helyezéséhez. Az elsődleges kulcsoszlopokon kívül más oszlopokra nincs rendezési korlátozás.
Támogatott az összevonás a SQL-adatszinkronizálás?
Az összevonási gyökéradatbázis korlátozás nélkül használható a SQL-adatszinkronizálás szolgáltatásban. Az összevont adatbázis végpontja nem vehető fel a SQL-adatszinkronizálás aktuális verziójához.
Használhatom a adatszinkronizálás a Dynamics 365-ből exportált adatok szinkronizálására saját adatbázis (BYOD) funkcióval?
A Dynamics 365 saját adatbázis-funkciót kínál, amellyel a rendszergazdák saját Microsoft Azure SQL-adatbázisba exportálhatják az alkalmazásból az adatentitást. adatszinkronizálás használható az adatok más adatbázisokba való szinkronizálására, ha az adatokat növekményes leküldéssel exportálják (a teljes leküldés nem támogatott), és a céladatbázis eseményindítóinak engedélyezése igen értékre van állítva.
Hogyan adatszinkronizálás létrehozása feladatátvételi csoportban a vészhelyreállítás támogatásához?
- Annak érdekében, hogy a feladatátvételi régióban az adatszinkronizálási műveletek egyenértékben legyenek az elsődleges régióval, a feladatátvétel után manuálisan újra létre kell hoznia a szinkronizálási csoportot a feladatátvételi régióban ugyanazokkal a beállításokkal, mint az elsődleges régió.
További lépések
Szinkronizált adatbázis sémájának frissítése
Frissítenie kell egy adatbázis sémáját egy szinkronizálási csoportban? Schema changes aren't automatically replicated. Néhány megoldásért tekintse meg a következő cikkeket:
- Sémamódosítások replikációjának automatizálása SQL-adatszinkronizálás az Azure-ban
- A Szinkronizálási séma frissítése meglévő szinkronizálási csoportban a PowerShell használatával
Figyelés és hibaelhárítás
A SQL-adatszinkronizálás a várt módon működik? A tevékenységek monitorozásához és a problémák elhárításához tekintse meg az alábbi cikkeket:
Ismerkedés az Azure SQL Database szolgáltatással
Az Azure SQL Database-ről az alábbi cikkekben talál további információt: