Csökken a tranzakciós napló

Ha a tranzakció log fájl tartalmazza a fel nem használt helyet szabadíthat meg azáltal, hogy csökkenti a méretét a naplót. Ezt a folyamatot nevezik a log file tömörítés.

Compression lehet tenni, ha az adatbázis online és elérhető, amíg legalább egy virtuális log fájlt. Egyes esetekben a tömörítés nem lehetséges, amíg nem végez a következő művelet napló csonkolása.

Általában előfordulásakor automatikusan az egyszerű helyreállítási modell, amikor létrehoz egy adatbázis mentés, valamint a teljes helyreállítási modell, amikor alátámasztani tranzakciós napló. Azonban csonkolás késleltethető több okból is. További információért lásd. A részben okozó tényezők késéssel napló csonkolása.

Tömörítése a log fájlt (tömörítetlen adatbázis file)

Monitoring a log fájl tömörítési esemény

Figyelemmel kíséri naplóterületre

ahol a fizikai mérete csökken eltávolításával egy vagy több virtuális naplófájlok inaktív. A mértékegység, miközben csökkenti a mérete mindig egy virtuális log fájlt. Például, ha van 600 megabájt log fájl mérete (MB), osztva hat virtuális magazin, 100 MB-os log fájl méretét csökkenteni lehet a több 100 MB. fájl mérete csökkenthető a mérete 500 MB vagy 400 MB, de nem lehet csökkenteni a mérete 433 MB vagy 525 MB. Virtuális log fájl, amely bármely aktív napló bejegyzéseket, azaz aktív virtuális log fájl része a logikai napló, és nem lehet törölni. További információkat. Lásd: Transaction Log Fizikai architektúra.

A Database Engine dönt a méret a virtuális naplófájlok során dinamikusan létrehozásakor, vagy bővítése. További információkat. Lásd: Transaction Log Fizikai architektúra.

Az aktuális naplófájl mérete megegyezik a teljes méretű oldalak használt virtuális log fájlt. Felhívjuk figyelmét, hogy ezek az oldalak nem használja a naplófájlokat. Virtuális log fájlokat, amelyek része a logikai napló nem lehet felszabadítani. Ha minden a virtuális fájlt a napló tartalmazza része a logikai log, tömörítés nem lehetséges, amíg a napló csonkolása nem jelöli egy vagy több virtuális log fájlt inaktív.

Fájltömörítés művelet törölhető csak inaktív virtuális log fájlokat. Ha a cél méret nincs megadva, a fájl tömörítési művelet eltávolítja csak az inaktív virtuális log fájlokat, amelyek az utolsó aktív virtuális log fájlt a fájl. Ha a cél méret van megadva, akkor csak távolítsa el a számot virtuális fájlok, amelyek megfelelnek a cél méret (de nem haladja meg). Préselés után a log fájl mérete általában valamivel nagyobb, mint a cél méret, de nem kevesebb. Virtuális naplófájlok nehéz megjósolni, hogyan lehet tömörített hatékonyan.

Amikor tömöríti a fájlt hely felszabadul a végén a fájlt. Összenyomása a tranzakciós naplófájl végén a naplófájl szabadul elegendő számú virtuális log fájlokat. Előfordul, hogy a magazin csökkent a mérete határozza meg a felhasználó. Argumentum target_size. felhasználó által meghatározott, felfelé kell kerekíteni a következő legnagyobb határa a virtuális fájl. Például, ha egy fájl 600 MB, amely hat virtuális log fájlokat 100 MB, a felhasználó megadja target_size érv. egyenlő 325 MB, az utolsó két virtuális log fájl törlődik, és egy új fájl mérete egyenlő 400 MB.

Működés DBCC SHRINKDATABASE vagy DBCC SHRINKFILE azonnal megpróbálja tömöríteni a fizikai naplófájl a kívánt méretet:

Ha nem része a logikai log virtuális log fájlokat nem terjed a jel target_size. virtuális napló fájlok után tárolják target_size jelet. mentesíti, és a DBCC sikeresen elvégzett nélkül üzeneteket.

Ha egy része a logikai log kitágul védjegy target_size. Komponens SQL Server Database Engine helyet szabadít fel, amennyire csak lehetséges, és kiad egy tájékoztató üzenet. A jelentés azt mondta, hogy a következő lépéseket kell végrehajtani, hogy távolítsa el a logikai log ki a virtuális naplók végén a fájlt. Miután elvégezte ezeket a lépéseket, akkor futtassa újra a DBCC nyilatkozatot szabad a fennmaradó helyet.

Tegyük fel, hogy van egy 600 MB-os log fájlt, amely tartalmazza a hat virtuális log fájlokat, a magazin egy logikai kezdete a virtuális magazin 3. és végződik a virtuális magazin 4. Kövesse DBCC SHRINKFILE érv target_size. egyenlő 275 MB (m. e. háromnegyede virtuális log 3).

Virtuális magazinok 5. és 6. feloldják, mivel nem tartalmaz semmilyen része a logikai napló. Ahhoz azonban, hogy fel kell szabadítani annak érdekében, hogy a megadott argumentum értékeket target_size virtuális log file 4 is, de ez nem lehetséges, mert tartalmazza a végén a logikai napló. A felszabadulás után a virtuális log fájlokat 5. és 6. Database Engine kitölti a maradék virtuális naplófájl 4 dummy rekordok. Ez vezet a műszak végén a log fájlt a végén a virtuális log file 1. A legtöbb rendszerben minden ügylet induló virtuális naplófájl 4 rögzítésre kerül néhány másodpercig. Ez azt jelenti, hogy az összes aktív része a napló mozog a virtuális log file 1. Most jelentkezzen fájl így néz ki:

DBCC SHRINKFILE útmutató továbbá egy információs üzenet, amely szerint ez nem mentesíti a helyigényt és utasítások BACKUP LOG lehet tenni, hogy kiszabadítsa a fennmaradó helyet. Az áthelyezés után BACKUP LOG aktív része a virtuális naplófájl 1 utasítást fog egy csonkolása minden logikai napló, ami a virtuális log file 4:

Mivel a virtuális naplófájl 4 már nem tartalmazza része a logikai napló, akkor végezze el ugyanazt utasításokat DBCC SHRINKFILE érv target_size. egyenlő 275 MB. Virtuális naplófájl 4 megszüntetjük, és a fizikai mérete a naplófájl csökken a kívánt méretet.

Bizonyos tényezők, mint például a hosszú ideig futó tranzakció aktivitásának fenntartása virtuális naplófájlok sokáig. Ez korlátozza a napló tömörítési képesség vagy nem is teszi lehetővé. További információért lásd. A részben okozó tényezők késéssel napló csonkolása.

Kapcsolódó cikkek