Në një mjedis SQL Server, çdo skedar i bazës së të dhënave mund të kompresohet duke fshirë faqet e papërdorura. Megjithëse Database Engine optimizon caktimin e diskut, ka raste kur skedarëve nuk u duhet më shuma që ishin alokuar më parë. Programi parashikon kompresimin e skedarëve të bazës së të dhënave si manualisht ashtu edhe automatikisht pas një kohe të caktuar.
Udhëzimet
Hapi 1
Për kompresimin automatik, mjedisi ka një bazë të dhënash AUTO_SHRINK, parametri i së cilës është i mjaftueshëm për tu vendosur në ON. Me këtë bazë të dhënash në sistem, motori i bazës së të dhënave automatikisht do të zvogëlojë çdo SQL që ka hapësirë të lirë. Parametrat konfigurohen duke përdorur deklaratën ALTER DATABASE, e cila fillimisht është vendosur në OFF. Të gjitha operacionet automatike të kompresimit ndodhin në sfond dhe nuk ndikojnë në veprimet e përdoruesve në bazën e të dhënave.
Hapi 2
Bazat e të dhënave të SQL Server kompresohen manualisht duke përdorur deklaratën DBCC SHRINKDATABASE (DBCC SHRINKFILE). Nëse udhëzimi i zgjedhur nuk mund të rezervojë hapësirë në skedarin log, shfaqet një mesazh informues që tregon veprimin e kërkuar për të liruar hapësirën në disk.
Hapi 3
Me DBCC SHRINKDATABASE, nuk mund ta zvogëloni bazën e të dhënave në një madhësi që është më e vogël se madhësia origjinale. Nëse baza e të dhënave është krijuar me një madhësi prej 10 MB, dhe pastaj ajo është zgjeruar në 50 MB, do të jetë e mundur që të kompresohet vetëm në 10 MB, edhe nëse të gjitha të dhënat janë fshirë.
Hapi 4
Me DBCC SHRINKFILE, ju mund të kompresoni skedarë individualë në një madhësi që është qartë më e vogël se madhësia fillestare. Sidoqoftë, secila skedar i bazës së të dhënave do të duhet të kompresohet veçmas.
Hapi 5
Kur përdoren këto udhëzime, regjistrat e transaksioneve zvogëlohen automatikisht në madhësinë e kërkuar. Efekti më i madh i kompresimit arrihet vetëm nëse kryhet pas një operacioni që krijon shumë hapësirë shtesë (për shembull, rënia e një tavoline).