کاهش حجم دیتابیس در Sql Server

نوشته شده توسط: محمد

کاهش حجم دیتابیس در Sql Server
هر دیتابیسی که در Sql server ایجاد می شود، دارای دو فایل اصلی می باشد. فایل اول، فایل اصلی است که داده‌ها روی آن نگهداری و ذخیره می‌شوند (فایلی با پسوند mdf.) دومین فایل مربوط به ثبت وقایع اتفاق افتاده روی پایگاه داده است و هر تراکنشی که در پایگاه داده انجام می‌شود در این فایل ذخیره می‌شود (فایلی با پسوند ldf  می باشد. حجم فایل ldf  با توجه به اینکه بصورت لحظه ای و به ازای هر تغییر در حال افزایش می باشد، ممکن است باعث بالابردن ناگهانی و غیر طبیعی حجم دیتابیس شما شود و زمانی که کل فضای هارددیسک را اشغال کند، عملا دیگر هیچ عملیاتی روی پایگاه داده انجام نمی‌شود.
از طریق عملیات shrink در Sql می توانیدفضاهای اضافی را حذف کرده و حجم دیتابیس را کاهش دهید.
در sql دیتابیس به دلیل تولید Log File ، حجم زیادی از فضای دیتابیس را اشغال خواهد کرد که با استفاده از امکان های Truncate و Shrink این log File ها حذف شده و فضای قابل توجهی از فضای دیتابیس شما آزاد خواهد شد.
جهت shrink  دیتابیس از طریق Sql Server Management  مراحل زیر را انجام دهید:
ابتدا به sql متصل شوید.
در لیست دیتابیس ها، برروی نام دیتابیس مورد نظر راست کلیک نموده و در زیر شاخه  Tasks گزینه shrink  و زیر شاخه Files   را انتخاب کنید.
shrink-database
سپس از قسمت File Type  گزینه log  را انتخاب کنید.
shrinklogfiles
سپس بر روی دکمه OK  کلیک کنید بدین صورت حجم لاگ دیتابیس شما کاهش خواهد یافت.
از طریق اجرای query زیر نیز می توانید در sql حجم لاگ دیتابیس را کاهش دهید:
ابتدا بر روی نام دیتابیس کلیک نموده و  سپس از منو بالای صفحه گزینه new query  را انتخاب نمائید.
دستورات زیر را در آن کپی و اجرا نمائید.
بجای dbname   نام دیتابیس مربوطه را جایگزین کنید.
Shrink کردن فایل LOG به یک حجم خاص :

Use dbname

Alter Database dbname   Set Recovery Simple

DBCC SHRINKFILE (‘YOUR_LOG_NAME_log’, 1)

Alter Database dbname   Set Recovery Full

دستورShrink یک دیتابیس به یک درصد خاص از فضای آزاد:

DBCC SHRINKDATABASE (DatabaseName, 10);

مطالب مرتبط

نظر شما