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


A tömeges importálás minimális naplózásának előfeltételei

A következőkre vonatkozik:SQL Server

A teljes helyreállítási modell alá tartozó adatbázisok esetében a rendszer a tömeges importálással végrehajtott összes sorbeszúrási műveletet teljes mértékben naplózza a tranzakciónaplóban. A nagy adatimportálás miatt a tranzakciónapló gyorsan megtelhet a teljes helyreállítási modell használata esetén. Ezzel szemben az egyszerű helyreállítási modell vagy a tömegesen naplózott helyreállítási modell esetében a tömeges importálási műveletek minimális naplózása csökkenti annak lehetőségét, hogy egy tömeges importálási művelet kitöltse a naplóterületet. A minimális naplózás a teljes naplózásnál is hatékonyabb.

Megjegyzés:

A tömegesen naplózott helyreállítási modell úgy lett kialakítva, hogy ideiglenesen lecserélje a teljes helyreállítási modellt a nagy méretű tömeges műveletek során.

A tömeges importálási műveletek minimális naplózásának táblakövetelményei

A minimális naplózás megköveteli, hogy a céltábla megfeleljen a következő feltételeknek:

  • A tábla nincs replikálva.

  • A táblazárolás meg van adva (a használatával TABLOCK).

    Megjegyzés:

    Bár az adatbeszúrások nem kerülnek naplózásra a tranzakciónaplóban egy minimálisan naplózott tömeges importálási művelet során, az adatbázismotor továbbra is naplózza a mértékkiosztásokat minden alkalommal, amikor új mérték van lefoglalva a táblához.

  • A tábla nem memóriaoptimalizált tábla.

Az is függ, hogy egy tábla minimális naplózása is bekövetkezhet-e, attól függ, hogy indexeli-e a táblát, és ha igen, akkor üres-e a tábla:

  • Ha a tábla nem tartalmaz indexeket, az adatlapok minimálisan naplózva lesznek.

  • Ha a tábla nem tartalmaz fürtözött indexet, de legalább egy nem rendezett indexet tartalmaz, az adatlapok mindig minimálisan naplózva lesznek. Az indexlapok naplózásának menete azonban attól függ, hogy a tábla üres-e:

    • Ha a tábla üres, a rendszer minimálisan naplózza az indexlapokat. Ha üres táblával kezdi, és tömegesen importálja az adatokat több kötegben, az index- és adatoldalak is minimálisan naplózva lesznek az első köteghez, de a második kötegtől kezdve csak az adatoldalak naplózása minimális.

    • Ha a tábla nem üres, az indexlapok teljes naplózása történik.

    • Ha az egyik index rendelkezik IGNORE_DUP_KEY = ON, az index és az adatoldalak teljes naplózása történik.

  • Ha a tábla fürtözött indexet tartalmaz, és üres, akkor az adatok és az indexlapok egyaránt minimálisan naplózhatók. Ezzel szemben, ha egy tábla B-fa alapú fürtözött indexet tartalmaz, és nem üres, akkor az adatoldalak és az indexlapok egyaránt teljes mértékben naplózva lesznek a helyreállítási modelltől függetlenül. Ha egy üres sortártáblával kezdi, és tömegesen importálja az adatokat kötegekben, akkor az index- és adatoldalak is minimálisan naplózva lesznek az első köteghez, de a második kötegtől kezdve csak az adatoldalak lesznek tömegesen naplózva.

    Megjegyzés:

    A dokumentáció általában a B-fa kifejezést használja az indexekre hivatkozva. A sorkataszterekben az adatbázismotor egy B+ fát implementál. Ez nem vonatkozik az oszlopcentrikus indexekre vagy a memóriaoptimalizált táblák indexére. További információ: SQL Server és Azure SQL index architektúrája és tervezési útmutatója.

  • A fürtözött oszlopcentrikus indexek (CCI) naplózásával kapcsolatos információkért tekintse meg a Columnstore index adatbetöltési útmutatóját.

Megjegyzés:

Ha a tranzakciós replikáció engedélyezve van, BULK INSERT a műveletek teljes mértékben naplózva lesznek még a tömeges naplózott helyreállítási modellben is.

Következő lépés