összezsugorodik az adatbázis és tranzakciós napló a Microsoft SQL Server, programozás kezdőknek

Sok rendszergazda a Microsoft SQL Server találkozott a problémával, hogy jelentősen nőtt a fizikai méretét az adatbázis és tranzakciós naplófájlok és természetesen szeretnék valamilyen módon csökkenteni ezt a méretet, hogy nem tesznek semmilyen lépést kapcsolatos növekedés szabad hely a merevlemezen. Egy út, hogy csökkentsék a fizikai mérete az adatbázis SQL Server tranzakciós naplófájlok - ez tömörítés.

Mi a tömörítés a Microsoft SQL Server?

Compression - az eljárás megszüntetésére kihasználatlan terét az adatbázis és tranzakciós napló.

A fizikai mérete az adatbázis fájl növekszik idővel, ez annak köszönhető, hogy az adatok hozzáadására, de ha eltávolítja a fizikai fájl mérete ugyanaz marad, de az adatállományban logikusnak tűnik kihasználatlan tér, és amely lehet hagyni.

A legnagyobb hatás érhető el kompressziós amikor a kompressziós műveletet eltávolítása után táblák az adatbázisból, vagy törölheti az adatokat a táblákat.

Meg kell különböztetni a tranzakciós log kompressziós folyamatot a tranzakciós napló csonkolása eljárást. Tömörítés - csökkent a fizikai mérete a napló eltávolításával egy használaton kívüli tér és levágni - a kibocsátás helyet a lapban logikai újrafelhasználásra (azaz, a fel nem használt tér keletkezik) tranzakciós log, ha a méret a fizikai fájl nem csökken.

A csonkolása a tranzakciós napló automatikusan:

  • Az egyszerű helyreállítási modell - elérése után az ellenőrzőpont, ami akkor fordulhat elő, például létrehozása után a biztonsági adatbázis, a látszólagos teljesítése CHECKPOINT nyilatkozatot, vagy akkor, ha egy logikai tranzakciós napló tele van 70 százalék, minden ilyen esetben, van egy automatikus tisztítása inaktív része a napló azaz A csonkolás;
  • A teljes helyreállítási modell a helyreállítási modell vagy ömlesztett bejelentkezett - miután a mentés napló, feltéve, hogy a legutóbbi napló töréspont született.

Ha használja a teljes helyreállítási modell vagy modell tömeges bejelentkezve hasznosítás és akkor a tranzakciós napló fájlok túl nagyok, akkor valószínűleg elég hosszú volt (háttér) a tranzakciós napló. Ebben az esetben meg kell tennie az első tranzakciós napló, majd hajtsa végre tömörítés a tranzakciós log, akkor csak nézd meg az alábbiakban.

Az is lehetséges, a méret a tranzakciós log fájl túl nagy (mint az egyszerű és teljes helyreállítási modell), késleltetve a csonkolás eljárást, azaz Naplóméret áll leginkább az aktív része a magazin, és az aktív rész nem lehet csonkolt, így a fizikai mérete a napló nő. A késedelem olyan tényezők befolyásolják a csonkolás eljárás aktív hosszú lejáratú ügyletekre, néhány forgatókönyvet Flip adatbázisok és tranzakciós napló, néhány szkript, ha a tranzakciós replikáció és tranzakciós napló és log csonkolás miatt nem lehetséges mentési és helyreállítási műveleteket. Ebben az esetben meg kell szüntetni az oka a késés, majd töltsük csonkolás (azaz például a teljes helyreállítási modell BACKUP log), majd tömörítés elfogadható méretben.

Általánosságban, ha állandó jelleggel bizonyos időközönként biztonsági másolatot készít tranzakciós napló vagy adatbázis (egyszerű helyreállítási modell) tranzakciós naplófájlok nem nőnek, és nincsenek tranzakciós log túlcsordulás.

Hogyan tömöríteni adatbázis MS SQL Server?

Tömöríteni az adatbázist fájlok és tranzakciós napló lehet, és a segítségével GUI Management Studio és használatával-SQL nyilatkozatai: DBCC SHRINKDATABASE és DBCC SHRINKFILE. Azt is be lehet állítani az adatbázis automatikus tömörítés kiállító db AUTO_SHRINK paraméter értéke ON.

Compress adatbázist a Management Studio

Fuss a Management Studio és Object Explorer, nyissa meg a "Database" objektumot. Ezután jobb klikk a kívánt adatbázist tömöríteni, majd válassza a „Feladatok -> Shrink -> Adatbázis (vagy fájlokat, ha például, csak be kell tömöríteni a tranzakciós napló).” Azt például, válassza ki a „Database”.

összezsugorodik az adatbázis és tranzakciós napló a Microsoft SQL Server, programozás kezdőknek

Ennek eredményeként, akkor nyissa ki az ablakot „Shrink Adatbázis”, amelyben mellesleg, akkor megfigyelhetjük az adatbázis mérete, valamint a rendelkezésre álló szabad hely, hogy lehet eltávolítani (azaz tömörítés). "OK" push.

összezsugorodik az adatbázis és tranzakciós napló a Microsoft SQL Server, programozás kezdőknek

Egy idő után, attól függően, hogy az adatbázis mérete, a tömörítés befejeződött.

Tömöríteni az adatbázist keresztül SHRINKFILE és SHRINKDATABASE utasítások

MS SQL Server, hogy végre a tömörítés az adatbázis és tranzakciós napló, két SHRINKDATABASE és SHRINKFILE nyilatkozatot.

  • DBCC SHRINKDATABASE - egy csapat adatbázis tömörítés;
  • DBCC SHRINKFILE - ezzel a paranccsal, akkor tömöríteni, hogy az adatbázis fájlokat (például a tranzakciós napló esetén).

Annak érdekében, hogy végre adatbázis tömörítés (pl TestBase) éppen úgy, ahogy volt egy kicsit korábban a Management Studio, futtassa az alábbi nyilatkozatot.

SHRINKDATABASE paraméterei a következők:

  • database_name vagy database_id - nevét vagy személyazonosságát a kívánt adatbázist tömöríteni. Ha megad egy értéket 0, akkor használja az aktuális adatbázis;
  • target_percent - tér százalékában, amely továbbra is az adatbázisban tömörítés után;
  • NOTRUNCATE - tömöríti az adatállományok mozgatásával kiosztott lapokat a fájl végére helyett osztott lapok a fájlban. Ha megadja ezt a beállítást, a fizikai méretét a fájl nem változott;
  • TRUNCATEONLY - feloldja a szabad hely a végén az operációs rendszer fájlt, de nem mozdul oldalak egy fájlt. Az adatállomány csökken csak az utolsó kiosztott mértékben. Ha megadja ezt a lehetőséget, az opció nincs feldolgozva target_percent;
  • AZ NO_INFOMSGS - elnyomja az összes tájékoztató üzenetek súlyossági szintek 0-10.

Tömöríteni csak a tranzakciós napló használható SHRINKFILE nyilatkozatot. például.

Ebben az esetben, akkor elvégzi a log fájl tömörítési (TestBase_log - egy tranzakciós log fájl neve), a kezdeti érték, vagyis az alapértelmezett értékeket. Tömöríteni a fájlt egy bizonyos méretet, adja meg a második paraméter mérete megabájt. Például, kövesse az utasításokat fogjuk csökkenteni a tranzakciós log fájl mérete 5 MB.

Kérjük, vegye figyelembe, hogy ha megadod a kisebb méretű, mint ami szükséges tárolni az adatokat egy fájlt, a fájl tömörítve, hogy ez a méret nem lesz. Például, mondjuk, ha megadja 5 megabájt és csak 7 megabájt, a fájl tömörítve csak legfeljebb 7 megabájt tárhely a fájlban.

SHRINKFILE is van lehetőség, NOTRUNCATE és TRUNCATEONLY.

Az ajánlások és a fontos pontokat, ha az adatbázis tömörítése

  • Működés adatbázis tömörítés töredezettségéhez az indexek, és lassítják az adatbázisban. Ezért túl gyakran nem ajánlott elvégezni adatbázis tömörítés;
  • Tömörítése adatbázis jobb újjáépíteni műveleti kódok, vagyis a sajtolási folyamat után kezdeni újjáépítése indexek;
  • AUTO_SHRINK paraméter adatbázis (automatikus tömörítés), akkor jobb, ha nem, hogy ki van kapcsolva, és hagyja meg az alapértelmezett, azaz a OFF, a Természetesen, ha nincs elég komoly okok miatt;
  • SHRINKDATABASE állítás nem csökkenti a méretét, hogy az adatbázis mérete kisebb, mint az eredeti, vagyis a minimum. Azonban az utasítás nem így tesz, SHRINKFILE (második paraméter kisebb, mint a minimális méret). A minimális mérete az adatbázis - ez a méret, amely az adatbázis létrehozásakor megadott, vagy kifejezetten beállítva az adatbázis méretének működés változás, mint például egy DBCC SHRINKFILE vagy módosítja adatbázis. Például, ha az adatbázis létrehozása, amelynek mérete 10 megabájt, majd nőtt, 100 megabájt, ez lehet tömörített SHRINKDATABASE csak a kezdeti 10 megabájt, akkor is, ha az összes adat törölve lett az adatbázisból;
  • Tömöríteni az adatbázist fájlok és a tranzakciós napló nem lehet, ha a folyamat a foglalás. Fordítva, hogy biztonsági másolatot a adatbázisok és tranzakciós napló nem lehet, amíg van egy kompressziós folyamat;
  • Végrehajtása DBCC SHRINKDATABASE nyilatkozat megadása nélkül paramétert vagy NOTRUNCATE TRUNCATEONLY egyenértékű DBCC SHRINKDATABASE nyilatkozat paraméterrel NOTRUNCATE végrehajtása után DBCC SHRINKDATABASE utasításokkal TRUNCATEONLY paraméter
  • A folyamat az adatbázis tömörítés, a felhasználók dolgozni benne (azaz lefordítani az adatbázis egyfelhasználós módban nem szükséges);
  • Bármikor megszakíthatja a folyamat végrehajtása SHRINKDATABASE és SHRINKFILE működés minden elvégzett munka van mentve;
  • Megkezdése előtt a tömörítési művelet, ellenőrizze, van-e hely a törlést az adatbázis fájlokat, azaz hogy lehetséges-e, hogy összenyomja a szükséges fájlokat a következő lekérdezés (ez fog megjelenni megabájt, hogy mennyit képes csökkenteni az adatbázis fájlok).

összezsugorodik az adatbázis és tranzakciós napló a Microsoft SQL Server, programozás kezdőknek

  • Annak érdekében, hogy végre adatbázis tömörítési eljárás legyen tagja a rendszergazda szerver szerepet, vagy db_owner rögzített adatbázis szerepét;
  • Tömörítése az adatbázis és tranzakciós naplófájlok erőforrás-igényes folyamat, amit egy bizonyos ideig (a fájl méretétől függően), ezért ezt az eljárást meg kell tervezni, és általában végre azt csak akkor, ha feltétlenül szükséges (például adatbázis mérete, a magazin lett túl nagy, és több mint a fele egyes fájl foglal kihasználatlan tér).
  • Kapcsolódó cikkek