Megosztás a következőn keresztül:


Az Azure SQL Database migrálása a DTU-alapú modellből a virtuális magalapú modellbe

A következőre vonatkozik: Azure SQL Database

Ez a cikk azt ismerteti, hogyan migrálhatja az adatbázist az Azure SQL Database-ben a DTU-alapú vásárlási modellből a virtuális magalapú vásárlási modellbe.

Adatbázisok migrálása

Az adatbázis áttelepítése a DTU-alapú vásárlási modellről a virtuális magalapú vásárlási modellre hasonló, mint az alapszintű, standard és prémium szolgáltatási szintek szolgáltatási célkitűzései közötti skálázás, hasonló időtartammal és minimális állásidővel a migrálási folyamat végén. A virtuális magalapú vásárlási modellbe migrált adatbázisok bármikor, azonos módon migrálhatók a DTU-alapú vásárlási modellbe, a rugalmas skálázási szolgáltatási szintre migrált adatbázisok kivételével.

Válassza ki a virtuális mag szolgáltatásszintet és a szolgáltatási célkitűzést

A legtöbb DTU-ról virtuális magra történő migrálási forgatókönyv esetében az alapszintű és standard szolgáltatási szintek adatbázisai és rugalmas készletei az Általános célú szolgáltatási szintre lesznek leképezve. A Prémium szolgáltatási szint adatbázisai és rugalmas készletei az üzletileg kritikus szolgáltatási szintre lesznek leképedve. Az alkalmazás forgatókönyvétől és követelményeitől függően a rugalmas skálázású szolgáltatási szint gyakran használható migrálási célként az adatbázisokhoz és a rugalmas készletekhez az összes DTU szolgáltatásszinten.

A virtuális mag modellbe migrált adatbázis szolgáltatási célkitűzésének vagy számítási méretének kiválasztásához egyszerű, de hozzávetőleges hüvelykujjszabályt használhat: az alapszintű vagy a standard szinten minden 100 DTU-hoz legalább 1 virtuális mag szükséges, a Prémium szinten pedig minden 125 DTU legalább 1 virtuális magot igényel.

Tipp

Ez a szabály hozzávetőleges, mert nem veszi figyelembe a DTU-adatbázishoz vagy rugalmas készlethez használt hardvertípust.

A DTU-modellben a rendszer kiválaszthat bármilyen elérhető hardverkonfigurációt az adatbázishoz vagy a rugalmas készlethez. Emellett a DTU-modellben csak közvetett módon szabályozhatja a virtuális magok (logikai CPU-k) számát, ha magasabb vagy alacsonyabb DTU- vagy eDTU-értékeket választ.

A virtuális mag modellben az ügyfeleknek explicit módon kell választaniuk mind a hardverkonfigurációt, mind a virtuális magok (logikai CPU-k) számát. Bár a DTU-modell nem kínálja ezeket a lehetőségeket, a hardver típusa és az összes adatbázishoz és rugalmas készlethez használt logikai PROCESSZORok száma dinamikus felügyeleti nézeteken keresztül érhető el. Ez lehetővé teszi a megfelelő virtuális mag szolgáltatás célkitűzésének pontosabb meghatározását.

Az alábbi megközelítés ezen információk alapján határoz meg egy olyan virtuális magszolgáltatás-célkitűzést, amely hasonló erőforrás-kiosztással rendelkezik, hogy a virtuális mag modellbe való migrálás után hasonló teljesítményszintet érjen el.

DTU-ról virtuális magra való leképezés

Az alábbi T-SQL-lekérdezések, amikor egy migrálni kívánt DTU-adatbázis kontextusában hajtják végre, a virtuális magmodell minden hardverkonfigurációjában egyező (esetleg tört) számú virtuális magot ad vissza. Ezt a számot az adatbázisokhoz és rugalmas készletekhez elérhető legközelebbi számú virtuális magra kerekítheti a virtuális magmodell minden hardverkonfigurációjában, az ügyfelek kiválaszthatják azt a virtuális magszolgáltatás-célkitűzést, amely a legközelebbi egyezés a DTU-adatbázishoz vagy a rugalmas készlethez.

Az ezzel a módszerrel végzett migrálási példákat a Példák szakaszban találja.

Hajtsa végre ezt a lekérdezést a migrálni kívánt adatbázis kontextusában, nem pedig az master adatbázisban. Rugalmas készlet migrálásakor hajtsa végre a lekérdezést a készlet bármely adatbázisának kontextusában.


WITH dtu_vcore_map AS
(
SELECT rg.slo_name,
       CAST(DATABASEPROPERTYEX(DB_NAME(), 'Edition') AS nvarchar(40)) COLLATE DATABASE_DEFAULT AS dtu_service_tier,
       CASE WHEN slo.slo_name LIKE '%SQLG4%' THEN 'Gen4' --Gen4 is retired.
            WHEN slo.slo_name LIKE '%SQLGZ%' THEN 'Gen4' --Gen4 is retired.
            WHEN slo.slo_name LIKE '%SQLG5%' THEN 'standard_series'
            WHEN slo.slo_name LIKE '%SQLG6%' THEN 'standard_series'
            WHEN slo.slo_name LIKE '%SQLG7%' THEN 'standard_series'
            WHEN slo.slo_name LIKE '%GPGEN8%' THEN 'standard_series'
       END COLLATE DATABASE_DEFAULT AS dtu_hardware_gen,
       s.scheduler_count * CAST(rg.instance_cap_cpu/100. AS decimal(3,2)) AS dtu_logical_cpus,
       CAST((jo.process_memory_limit_mb / s.scheduler_count) / 1024. AS decimal(4,2)) AS dtu_memory_per_core_gb
FROM sys.dm_user_db_resource_governance AS rg
CROSS JOIN (SELECT COUNT(1) AS scheduler_count FROM sys.dm_os_schedulers WHERE status COLLATE DATABASE_DEFAULT = 'VISIBLE ONLINE') AS s
CROSS JOIN sys.dm_os_job_object AS jo
CROSS APPLY (
            SELECT UPPER(rg.slo_name) COLLATE DATABASE_DEFAULT AS slo_name
            ) slo
WHERE rg.dtu_limit > 0
      AND
      DB_NAME() COLLATE DATABASE_DEFAULT <> 'master'
      AND
      rg.database_id = DB_ID()
)
SELECT dtu_logical_cpus,
       dtu_memory_per_core_gb,
       dtu_service_tier,
       CASE WHEN dtu_service_tier = 'Basic' THEN 'General Purpose'
            WHEN dtu_service_tier = 'Standard' THEN 'General Purpose or Hyperscale'
            WHEN dtu_service_tier = 'Premium' THEN 'Business Critical or Hyperscale'
       END AS vcore_service_tier,
       CASE WHEN dtu_hardware_gen = 'Gen4' THEN dtu_logical_cpus * 1.7
            WHEN dtu_hardware_gen = 'standard_series' THEN dtu_logical_cpus
       END AS standard_series_vcores,
       5.05 AS standard_series_memory_per_core_gb,
       CASE WHEN dtu_hardware_gen = 'Gen4' THEN dtu_logical_cpus
            WHEN dtu_hardware_gen = 'standard_series' THEN dtu_logical_cpus * 0.8
       END AS Fsv2_vcores,
       1.89 AS Fsv2_memory_per_core_gb,
       CASE WHEN dtu_hardware_gen = 'Gen4' THEN dtu_logical_cpus * 1.4
            WHEN dtu_hardware_gen = 'standard_series' THEN dtu_logical_cpus * 0.9
       END AS M_vcores,
       29.4 AS M_memory_per_core_gb
FROM dtu_vcore_map;

További tényezők

A virtuális magok (logikai CPU-k) és a hardver típusa mellett számos egyéb tényező is befolyásolhatja a virtuális magok szolgáltatáscéljának kiválasztását:

  • A Transact-SQL-lekérdezés megfelel a DTU és a virtuális mag szolgáltatás célkitűzéseinek a processzorkapacitás tekintetében, ezért az eredmények pontosabbak lesznek a processzorhoz kötött számítási feladatok esetében.
  • Ugyanahhoz a hardvertípushoz és ugyanannyi virtuális maghoz az IOPS és a tranzakciónapló átviteli sebességének erőforráskorlátai gyakran magasabbak, mint a DTU-adatbázisok esetében. Az IO-hoz kötött számítási feladatok esetében lehetséges lehet csökkenteni a virtuális magok számát a virtuális mag modellben, hogy azonos szintű teljesítményt érjenek el. A DTU- és virtuálismag-adatbázisok tényleges erőforráskorlátjai sys.dm_user_db_resource_governance nézetben jelennek meg. Ha összehasonlítja ezeket az értékeket a migrálni kívánt DTU-adatbázis vagy -készlet, valamint a virtuális mag-adatbázis vagy -készlet körülbelül egyező szolgáltatási célkitűzéssel való összehasonlításával pontosabban kiválaszthatja a virtuális mag szolgáltatás célkitűzését.
  • A leképezési lekérdezés a migrálni kívánt DTU-adatbázis vagy rugalmas készlet magonkénti memóriáját, valamint a virtuális magmodell minden hardverkonfigurációját is visszaadja. A virtuális magra való migrálás után a hasonló vagy nagyobb teljes memória biztosítása fontos az olyan számítási feladatok esetében, amelyek nagy memóriaadat-gyorsítótárat igényelnek a megfelelő teljesítmény eléréséhez, vagy olyan számítási feladatok esetében, amelyek nagy memóriakivételt igényelnek a lekérdezésfeldolgozáshoz. Ilyen számítási feladatok esetén a tényleges teljesítménytől függően szükség lehet a virtuális magok számának növelésére a teljes memória eléréséhez.
  • A virtuális mag szolgáltatás célkitűzésének kiválasztásakor figyelembe kell venni a DTU-adatbázis előzményerőforrás-kihasználtságát . A konzisztensen nem használt CPU-erőforrásokkal rendelkező DTU-adatbázisoknak kevesebb virtuális magra lehet szükségük, mint a leképezési lekérdezés által visszaadott szám. Ezzel szemben azok a DTU-adatbázisok, amelyeknél a folyamatosan magas processzorkihasználtság nem megfelelő számítási teljesítményt okoz, több virtuális magra lehet szükség, mint amennyit a lekérdezés visszaad.
  • Ha időszakos vagy kiszámíthatatlan használati mintákkal migrálja az adatbázisokat, fontolja meg a kiszolgáló nélküli számítási szint használatát. Vegye figyelembe, hogy a kiszolgáló nélküli egyidejű feldolgozók maximális száma a kiosztott számításban megadott korlát 75%-a a konfigurált maximális virtuális magok számához. A kiszolgáló nélküli környezetben elérhető maximális memória a konfigurált virtuális magok maximális számának 3 GB-szorosa, ami kisebb, mint a kiépített számítás magonkénti memóriája. Gen5 esetén például a maximális memória 120 GB, ha 40 maximális virtuális mag van kiszolgáló nélküli állapotban konfigurálva, és 204 GB egy 40 virtuális magra kiosztott számításhoz.
  • A virtuális mag modellben a támogatott maximális adatbázisméret hardvertől függően eltérhet. Nagyméretű adatbázisok esetén ellenőrizze, hogy a virtuális mag modellben támogatott maximális méretek egyetlen adatbázisok és rugalmas készletek-e.
  • Rugalmas készletek esetén a DTU- és a vCore-modellek különbséget tesznek a készletenként támogatott adatbázisok maximális száma között. Ezt figyelembe kell venni a rugalmas készletek több adatbázissal történő migrálásakor.
  • Előfordulhat, hogy egyes hardverkonfigurációk nem minden régióban érhetők el. Ellenőrizze a rendelkezésre állást az SQL Database hardverkonfigurációja alatt.

Fontos

A fenti DTU-ról virtuális magra vonatkozó méretezési irányelvek segítenek a céladatbázis-szolgáltatás célkitűzésének kezdeti becslésében.

A céladatbázis optimális konfigurációja számítási feladattól függ. Így a migrálás után az optimális ár/teljesítmény arány eléréséhez a virtuális mag modell rugalmasságát kell kihasználnia a virtuális magok számának, a hardverkonfigurációnak, valamint a szolgáltatási és számítási szinteknek a módosításához. Előfordulhat, hogy módosítania kell az adatbázis konfigurációs paramétereit, például a párhuzamosság maximális fokát, és/vagy módosítania kell az adatbázis kompatibilitási szintjét az adatbázismotor legutóbbi fejlesztéseihez.

DTU–virtuális mag áttelepítési példák

Megjegyzés:

Az alábbi példákban szereplő értékek csak illusztrációs célokra szolgálnak. A leírt forgatókönyvekben visszaadott tényleges értékek eltérhetnek.

Standard S9-adatbázis migrálása

A leképezési lekérdezés a következő eredményt adja vissza (néhány oszlop nem jelenik meg a rövidség kedvéért):

dtu_logical_cpus dtu_memory_per_core_gb standard_series_vcores standard_series_memory_per_core_gb
24.00 5.40 24.000 5.05

Azt látjuk, hogy a standard DTU-adatbázis 24 logikai CPU-val (virtuális maggal) rendelkezik, virtuális magonként 5,4 GB memóriával. Ennek közvetlen egyezése egy általános célú 2 virtuális magos adatbázis standard sorozatú (Gen5) hardveren, a GP_Gen5_24 virtuális mag szolgáltatás célkitűzésén.

Standard S0-adatbázis migrálása

A leképezési lekérdezés a következő eredményt adja vissza (néhány oszlop nem jelenik meg a rövidség kedvéért):

dtu_logical_cpus dtu_memory_per_core_gb standard_series_vcores standard_series_memory_per_core_gb
0,25 1.3 0.500 5.05

Láthatjuk, hogy a DTU-adatbázis 0,25 logikai CPU-val (virtuális magokkal) rendelkezik, virtuális magonként 1,3 GB memóriával. A standard sorozatú (Gen5) hardverkonfiguráció legkisebb virtuális magszolgáltatás-célkitűzései, GP_Gen5_2 több számítási erőforrást biztosítanak, mint a Standard S0-adatbázis, így közvetlen egyezés nem lehetséges. A GP_Gen5_2 lehetőség van előnyben. Továbbá, ha a számítási feladat jól megfelel a kiszolgáló nélküli számítási szintnek, akkor GP_S_Gen5_1 közelebbi egyezés lenne.

Prémium P15-adatbázis migrálása

A leképezési lekérdezés a következő eredményt adja vissza (néhány oszlop nem jelenik meg a rövidség kedvéért):

dtu_logical_cpus dtu_memory_per_core_gb standard_series_vcores standard_series_memory_per_core_gb
42.00 4.86 42.000 5.05

Láthatjuk, hogy a DTU-adatbázis 42 logikai CPU-val (virtuális maggal) rendelkezik, és virtuális magonként 4,86 GB memóriával rendelkezik. Bár nincs 42 magos virtuálismag-szolgáltatási célkitűzés, a BC_Gen5_40 szolgáltatás célkitűzése a processzor- és memóriakapacitás szempontjából majdnem egyenértékű, és jó egyezés.

Basic 200 eDTU rugalmas készlet migrálása

A leképezési lekérdezés a következő eredményt adja vissza (néhány oszlop nem jelenik meg a rövidség kedvéért):

dtu_logical_cpus dtu_memory_per_core_gb standard_series_vcores standard_series_memory_per_core_gb
4.00 5.40 4.000 5.05

Láthatjuk, hogy a rugalmas DTU-készlet 4 logikai CPU-val (virtuális magokkal) rendelkezik, virtuális magonként 5,4 GB memóriával. A standard sorozatú hardver 4 virtuális magot hív meg, azonban ez a szolgáltatási célkitűzés készletenként legfeljebb 200 adatbázist támogat, míg az Alapszintű 200 eDTU rugalmas készlet legfeljebb 500 adatbázist támogat. Ha a migrálni kívánt rugalmas készlet több mint 200 adatbázissal rendelkezik, a megfelelő virtuális mag szolgáltatás célkitűzésének GP_Gen5_6 kell lennie, amely legfeljebb 500 adatbázist támogat.

Georeplikált adatbázisok migrálása

A DTU-alapú modellről a virtuális magalapú vásárlási modellre való migrálás hasonló a standard és a prémium szintű szolgáltatási szintek adatbázisai közötti georeplikációs kapcsolatok frissítéséhez vagy visszaminősítéséhez. A migrálás során nem kell leállítania a georeplikálást, de az alábbi sorrendszabályokat kell követnie:

  • Frissítéskor előbb frissítenie kell a másodlagos adatbázist, majd frissítenie kell az elsődleges adatbázist.
  • Visszalépéskor fordítsa meg a sorrendet: először az elsődleges adatbázist kell visszaminősítenie, majd a másodlagosra kell visszaminősítenie.

Ha két rugalmas készlet között georeplikációs szolgáltatást használ, javasoljuk, hogy az egyik készletet elsődlegesként, a másikat pedig másodlagosként jelölje ki. Ebben az esetben, amikor rugalmas készleteket migrál, ugyanazt a szekvenálási útmutatót kell használnia. Ha azonban olyan rugalmas készletekkel rendelkezik, amelyek elsődleges és másodlagos adatbázisokat is tartalmaznak, a készletet a magasabb kihasználtsággal kezelje elsődlegesként, és ennek megfelelően kövesse a szekvenálási szabályokat.

Az alábbi táblázat útmutatást nyújt adott migrálási forgatókönyvekhez:

Aktuális szolgáltatási szint Célszolgáltatás szintje Migrálás típusa Felhasználói műveletek
Standard Általános célú Oldalsó Bármilyen sorrendben migrálható, de biztosítania kell a virtuális magok megfelelő méretezését a fent leírtak szerint
Prémium Üzletileg kritikus Oldalsó Bármilyen sorrendben migrálható, de biztosítania kell a virtuális magok megfelelő méretezését a fent leírtak szerint
Standard Üzletileg kritikus Frissítés Először a másodlagos áttelepítést kell elvégeznie
Üzletileg kritikus Standard Alacsonyabb szintre Először az elsődleges áttelepítést kell elvégeznie
Prémium Általános célú Alacsonyabb szintre Először az elsődleges áttelepítést kell elvégeznie
Általános célú Prémium Frissítés Először a másodlagos áttelepítést kell elvégeznie
Üzletileg kritikus Általános célú Alacsonyabb szintre Először az elsődleges áttelepítést kell elvégeznie
Általános célú Üzletileg kritikus Frissítés Először a másodlagos áttelepítést kell elvégeznie

Feladatátvételi csoportok migrálása

A több adatbázissal rendelkező feladatátvételi csoportok áttelepítéséhez az elsődleges és a másodlagos adatbázisok egyéni migrálása szükséges. A folyamat során ugyanazok a szempontok és a szekvenálási szabályok érvényesek. Miután az adatbázisok virtuális magalapú vásárlási modellté lettek konvertálva, a feladatátvételi csoport ugyanazokzal a házirend-beállításokkal marad érvényben.

Georeplikációs másodlagos adatbázis létrehozása

Georeplikációs másodlagos adatbázist (geo-másodlagos) csak az elsődleges adatbázishoz használt szolgáltatási szinttel hozhat létre. A magas naplógenerálási sebességgel rendelkező adatbázisok esetében javasoljuk, hogy az elsődleges számítási mérettel megegyező számítási méretben hozza létre a geo-másodlagost.

Ha egy geo-másodlagost hoz létre a rugalmas készletben egyetlen elsődleges adatbázishoz, győződjön meg arról, hogy a maxVCore készlet beállítása megegyezik az elsődleges adatbázis számítási méretével. Ha egy másik rugalmas készletben lévő elsődleges számára hoz létre geoszekundert, javasoljuk, hogy a készletek ugyanazokat maxVCore a beállításokat használja.

Adatbázis-másolás használata dTU-ról virtuális magra való migráláshoz

A DTU-alapú számítási mérettel rendelkező adatbázisokat korlátozás és speciális szekvenálás nélkül átmásolhatja egy virtuális magalapú számítási mérettel rendelkező adatbázisba, feltéve, hogy a cél számítási méret támogatja a forrásadatbázis maximális adatbázisméretét. Az adatbázis másolása tranzakciósan konzisztens pillanatképet hoz létre az adatokról a másolási művelet elindítása utáni időponttól kezdve. Az adott időpont után nem szinkronizálja az adatokat a forrás és a cél között.

További lépések

  • Az önálló adatbázisokhoz elérhető konkrét számítási méretekről és tárméretekről az önálló adatbázisokra vonatkozó virtuális magalapú SQL Database-erőforráskorlátokat tekintheti meg.
  • A rugalmas készletekhez elérhető konkrét számítási méretekről és tárméretekről az SQL Database vCore-alapú erőforráskorlátai című témakörben olvashat.