در دیتابیس، هر فایلی را می توان کاهش حجم داد تا فضای غیر قابل استفاده آزاد شود. گاهی یک فایلی که خیلی حجم زیادی ندارد فضای زیادی را اشغال کرده که در اینجا شرینک فایل ممکن است لازم باشد.در این مقاله شما را با Shrink دیتابیس به صورت دستی و اتوماتیک بیشتر آشنا خواهیم کرد.

shrink:

Shrink دیتابیس - shrink

لغت shrink به معنی کوچک کردن و یا منقبض کردن است. Shrink فضاهای اضافی دیتابیس را حذف کرده و باعث افزایش حجم دیتابیس میشود.داخل دیتابیس، هر فایلی را می توان کاهش حجم داد تا فضای غیر قابل استفاده آزاد شود. این فایل می تواند DateFile و یا LogFile باشد. اگرچه موتورهای پایگاه داده به استفاده مجدد از فضاها اقدام خواهند کرد اما گاهی یک فایلی که خیلی حجم زیادی ندارد فضای زیادی را اشغال کرده که در اینجا شرینک فایل ممکن است لازم باشد.

دیتا و فایل های لاگ می تواند کاهش حجم داده شوند. حجم فایل های دیتابیس گروهی و یا جداگانه می تواند به صورت دستی کاهش یابد و یا اینکه دیتابیس می تواند به صورت اتوماتیک در بازه های زمانی مشخص نسبت به حذف فضاهای خالی اقدام کند.

Shrink فایل ها همیشه از انتها شروع می شود. برای مثال اگر فایل ما ۵ گیگ باشد و با شیرینک کردن حجم آن ۴ گیگ شود، موتورهای دیتابیس فضای یک گیگ را از انتها آزاد خواهند کرد. اگر صفحه در بخشی قرار گرفته باشد موتور دیتابیس اولین فضای خالی را به آن اختصاص خواهند داد.

شرینک دیتابیس به صورت اتوماتیک

shrink دیتابیس - شرینک اتوماتیک

اگر گزینه AUTO_SHRINK برای دیتابیس فعال باشد، موتور دیتابیس به صورت اتوماتیک دیتابیس ها را شرینک خواهد کرد. این گزینه با استفاده از دستور ALTER DATABASE تنظیم می شود و به صورت پیش فرض غیر فعال است. موتور دیتابیس به صورت دوره ای فضاهای استفاده شده در هر دیتابیس را بررسی می کند و با فعال بودن این گزینه اقدام به کاهش سایز خواهد کرد. این کار در پس زمینه انجام خواهد شد و هیچ یک از یوزرهای دیتابیس را تحت تاثیر قرار نخواهد داد.

شرینک دیتابیس به صورت دستی

shrink دیتابیس - شرینک دستی

شرینک دیتابیس و یا فایل های داخل آن می تواند به صورت دستی و با استفاده از دستور DBCC SHRINKDATABASE و یا DBCC SHRINKFILE انجام شود. اگر با این دستورات همه فضاهای داخل فایل لاگ اصلاح نشود یک پیام اطلاعاتی که مشخص می کند که چگونه باید فضای بیشتری آزاد شود ارسال می شود تا شما آن را اجرا کنید.