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


A memóriaoptimalizált fájlcsoport

A következőkre vonatkozik:SQL Server

Memóriaoptimalizált táblák létrehozásához először létre kell hoznia egy memóriaoptimalizált fájlcsoportot. A memóriaoptimalizált fájlcsoport egy vagy több tárolót tartalmaz. Minden tároló adatfájlokat, deltafájlokat vagy mindkettőt tartalmaz.

Annak ellenére, hogy a táblák adatsorai SCHEMA_ONLY nem őrződnek meg, és a memóriaoptimalizált táblák és a natívan lefordított tárolt eljárások metaadatai a hagyományos katalógusokban vannak tárolva, az In-Memory OLTP-motor még mindig memóriaoptimalizált fájlcsoportot igényel a memóriaoptimalizált táblákhoz SCHEMA_ONLY , hogy egységes élményt nyújtson a memóriaoptimalizált táblákkal rendelkező adatbázisok számára.

A memóriaoptimalizált fájlcsoport a fájlstream fájlcsoporton alapul, a következő különbségekkel:

  • Adatbázisonként csak egy memóriaoptimalizált fájlcsoport hozható létre. Explicit módon meg kell jelölnie a fájlcsoportot memory_optimized_data tartalmazóként. Az adatbázis létrehozásakor vagy később is létrehozhatja a fájlcsoportot:

    ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod CONTAINS MEMORY_OPTIMIZED_DATA  
    
  • Egy vagy több tárolót kell hozzáadnia a MEMORY_OPTIMIZED_DATA fájlcsoporthoz. Például:

    ALTER DATABASE imoltp ADD FILE (name='imoltp_mod1', filename='c:\data\imoltp_mod1') TO FILEGROUP imoltp_mod  
    
  • A memóriaoptimalizált fájlcsoport létrehozásához nem kell engedélyeznie a fájlstreamet (a FILESTREAM engedélyezését és konfigurálását). A fájlstreamre való leképezést az In-Memory OLTP-motor végzi.

  • Új tárolókat adhat hozzá egy memóriaoptimalizált fájlcsoporthoz. Szükség lehet egy új tárolóra a tartós memóriaoptimalizált tábla tárhelyének bővítéséhez, valamint az I/O több tároló közötti elosztásához.

  • Az adatáthelyezés Always On elérhetőségi csoport konfigurációban egy memóriaoptimalizált fájlcsoporttal van optimalizálva. A filestream fájlokkal ellentétben, amelyeket elküldenek a másodlagos replikákhoz, a memóriaoptimalizált állományszegmens ellenőrzőpont-fájljai (mind az adat-, mind a különbözet-fájlok) nem kerülnek elküldésre a másodlagos replikákhoz. Az adatok és a deltafájlok a másodlagos replika tranzakciónaplójának használatával jönnek létre.

Megjegyzés:

Az SQL Server 2022 (16.x) és a régebbi verziókban, ha memóriaoptimalizált fájlcsoportot használ, csak az adatbázis elvetésével távolíthatja el. Nem üres tárolót nem helyezhet el, és az utolsó fennmaradó tárolót sem helyezheti el akkor sem, ha üres. Az adatok és a delta fájlpárok nem helyezhetők át egy másik tárolóba a memóriaoptimalizált fájlcsoportban.

Az SQL Server 2025-ről (17.x) kezdődően eltávolíthatja az utolsó fennmaradó tárolót, és eltávolíthatja a memóriaoptimalizált fájlcsoportot. További információ: Memóriaoptimalizált tároló és fájlcsoport eltávolítása.

Memory-Optimized-fájlcsoport konfigurálása

Fontolja meg több tároló létrehozását a memóriaoptimalizált fájlcsoportban, és ossza el őket különböző meghajtókon, hogy nagyobb sávszélességet érjen el az adatok memóriába való átviteléhez.

Több tárolós, több meghajtós forgatókönyv esetén az adat- és deltafájlok körkörös módon vannak elhelyezve a tárolókban. Az első adatfájl az első tárolóból lesz lefoglalva, a deltafájl pedig a következő tárolóból lesz lefoglalva, és ez a foglalási minta ismétlődik. Ez a foglalási séma egyenletesen osztja el az adatokat és a deltafájlokat a tárolók között, ha páratlan számú meghajtóval rendelkezik, és mindegyik egy tárolóhoz van hozzárendelve. Ha azonban páros számú meghajtóval rendelkezik, amelyek mindegyike egy tárolóra van leképezve, az a páratlan meghajtókra leképezett adatfájlok és a páros meghajtókra leképezett deltafájlok kiegyensúlyozatlan tárolását eredményezheti. Ha kiegyensúlyozott I/O-adatfolyamot szeretne kinyerni a helyreállításhoz, fontolja meg adatpárok és deltafájlok ugyanazon orsókon/tárolókon való elhelyezését.

A tároló konfigurálásakor olyan szabad lemezterületet kell biztosítania, amely négyszerese a tartós memóriaoptimalizált táblák méretének. Győződjön meg arról is, hogy az I/O-alrendszer támogatja a számítási feladathoz szükséges IOPS-t. Ha az adatok és a delta fájlpárok egy adott IOPS-en vannak feltöltve, akkor az IOPS háromszorosára van szüksége a tárolási és egyesítési műveletekhez. Tárolókapacitást és IOPS-t úgy adhat hozzá, hogy hozzáad egy vagy több tárolót a memóriaoptimalizált fájlcsoporthoz.

Figyelmeztetés

MAXSIZE Ha a memóriaoptimalizált fájlcsoporthoz érték van beállítva, és az ellenőrzőpont-fájlok túllépik a tároló maximális méretét, az adatbázis GYANÚS lesz.
Ebben az esetben ne próbálja meg offline és online állapotba állítani az adatbázist, mert az adatbázis RECOVERY_PENDING állapotban marad.

Lásd még:

Tároló létrehozása és kezelése Memory-Optimized objektumokhoz
adatbázisfájlok és fájlcsoportok
ALTER DATABASE-fájl- és fájlcsoportbeállítások (Transact-SQL)