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


Tranzakciónapló tárhely indexműveletekhez

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

A nagyméretű indexműveletek nagy adatterheléseket okozhatnak, amelyek miatt a tranzakciónapló gyorsan kitölthető. Annak érdekében, hogy az indexművelet visszaállítható legyen, a tranzakciónapló csak akkor csonkítható, ha az indexművelet befejeződött; a napló azonban biztonsági másolatot készíthet az indexművelet során. Ezért a tranzakciónaplónak elegendő helynek kell lennie az indexműveleti tranzakciók és az egyidejű felhasználói tranzakciók tárolásához az indexművelet időtartama alatt.

Ez offline és online indexelési műveletekre is igaz. Mivel az alapul szolgáló táblák nem érhetők el offline indexelési művelet során, előfordulhat, hogy kevés felhasználói tranzakciót hajtanak végre, és előfordulhat, hogy a napló nem nő olyan gyorsan. Az online indexelési műveletek nem akadályozzák meg az egyidejű felhasználói tevékenységet, ezért a nagy méretű online indexműveletek és a jelentős egyidejű felhasználói tranzakciók a tranzakciónapló folyamatos növekedését okozhatják anélkül, hogy a naplót csonkítanák.

Recommendations

Nagy léptékű indexműveletek futtatásakor vegye figyelembe a következő javaslatokat:

  1. A nagy léptékű indexműveletek online futtatása előtt győződjön meg arról, hogy a tranzakciónaplót biztonsági mentették és csonkolták, továbbá hogy a napló elegendő helyet biztosítson a tervezett indexek méretének és a felhasználói tranzakcióknak a tárolásához.

  2. Fontolja meg, hogy az SORT_IN_TEMPDB beállítást ON értékre állítja az indexművelethez. Ez elválasztja az indextranzakciókat az egyidejű felhasználói tranzakcióktól. Az indextranzakciók a tempdb tranzakciónaplóban, az egyidejű felhasználói tranzakciók pedig a felhasználói adatbázis tranzakciónaplójában vannak tárolva. Ez lehetővé teszi a felhasználói adatbázis tranzakciónaplójának csonkítását az indexművelet során, ha szükséges. Ha a tempdb napló nem ugyanazon a lemezen található, mint a felhasználói adatbázis naplója, akkor a két napló nem verseng ugyanahhoz a lemezterülethez.

    Megjegyzés:

    Ellenőrizze, hogy az adatbázis és a tempdb tranzakciónapló rendelkezik-e elegendő lemezterülettel az indexművelet kezeléséhez. A tempdb tranzakciónaplót nem lehet csonkítani, amíg az indexelési művelet be nem fejeződik.

  3. Olyan adatbázis-helyreállítási modellt használjon, amely lehetővé teszi az indexművelet minimális naplózását. Ez csökkentheti a napló méretét, és megakadályozhatja, hogy a napló kitöltse a naplóterületet.

  4. Ne futtassa az online indexelési műveletet explicit tranzakcióban. A napló nem lesz csonkítva, amíg az explicit tranzakció véget nem ér.