SQL Server միջավայրում տվյալների բազայի յուրաքանչյուր ֆայլ կարող է սեղմվել ՝ չօգտագործված էջերը ջնջելով: Չնայած տվյալների շտեմարանի շարժիչը օպտիմիզացնում է սկավառակի հատկացումը, կան դեպքեր, երբ ֆայլերն այլևս կարիք չունեն նախկինում հատկացված գումարի: Providesրագիրը նախատեսում է տվյալների շտեմարանի ֆայլերի սեղմում ինչպես ձեռքով, այնպես էլ որոշակի ժամանակ անց ավտոմատ կերպով:
Հրահանգներ
Քայլ 1
Ավտոմատ սեղմման համար միջավայրն ունի AUTO_SHRINK տվյալների շտեմարան, որի պարամետրը բավարար է միացնելու համար: Համակարգում առկա այս տվյալների բազայի միջոցով տվյալների շտեմարանի շարժիչը ավտոմատ կերպով կսեղմի ցանկացած SQL, որն ունի ազատ տարածք: Պարամետրերը կազմաձեւվում են ՝ օգտագործելով ALTER DATABASE հայտարարությունը, որն ի սկզբանե դրված է OFF: Բոլոր ավտոմատ սեղմման գործողությունները տեղի են ունենում հետին պլանում և չեն ազդում տվյալների բազայում օգտագործողի գործողությունների վրա:
Քայլ 2
SQL Server տվյալների բազաները սեղմվում են ձեռքով ՝ օգտագործելով DBCC SHRINKDATABASE (DBCC SHRINKFILE) հայտարարությունը: Եթե ընտրված հրահանգը չի կարող տեղ պահպանել գրանցամատյանի ֆայլում, ցուցադրվում է տեղեկատվական հաղորդագրություն, որը ցույց է տալիս սկավառակի տարածությունն ազատելու համար անհրաժեշտ գործողությունը:
Քայլ 3
DBCC SHRINKDATABASE- ի միջոցով դուք չեք կարող նեղացնել տվյալների բազան այնպիսի չափի, որը փոքր է սկզբնական չափից: Եթե շտեմարանը ստեղծվել է 10 ՄԲ չափով, այնուհետև այն ընդլայնվել է մինչև 50 ՄԲ, ապա հնարավոր կլինի այն սեղմել միայն 10 ՄԲ, նույնիսկ եթե բոլոր տվյալները ջնջվեն:
Քայլ 4
DBCC SHRINKFILE- ի միջոցով կարող եք անհատական ֆայլերը սեղմել այնպիսի չափի, որը հստակ փոքր է նախնական չափից: Այնուամենայնիվ, տվյալների շտեմարանի յուրաքանչյուր ֆայլ պետք է առանձին սեղմվի:
Քայլ 5
Երբ այդ հրահանգներն օգտագործվում են, գործարքի տեղեկամատյանները ավտոմատ կերպով փոքրանում են պահանջվող չափի: Սեղմման ամենամեծ ազդեցությունը ձեռք է բերվում միայն այն դեպքում, եթե այն իրականացվում է շատ ավելորդ տարածք ստեղծող գործողությունից հետո (օրինակ ՝ սեղան գցելը):