دسته بندی ها
18:18 1399/09/04

کم کردن حجم فایلهای دیتابیس Sql Sevrer

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 6969
پاسخ دهنده : fateme 19:28 1399/09/04

کم کردن حجم فایلهای دیتابیس Sql Sevrer

اگر اطلاعات داخل دیتابیس شما زیاد نیست ولی حجم دیتابیس شما زیاد هست و فضای زیادی رو روی سرور شما میگیره این حجم احتمال زیاد Total Size هست. یعنی حداکثر فضایی که دیتابیس شما میتونه داشته باشه. به عبارتی ممکنه حجم اطلاعات شما 20 مگابایت باشه ولی حداکثر فضایی که دیتابیس شما میتونه داشته باشه 370 مگابایت هست و همین مقدار فضا رو هم از هاست شما اشغال میکنه. اما روشهایی هست که شما میتونید این حجم رو کم کنید و فضای بیشتری از سرور یا هاست خودتون رو آزاد کنید.

 

کاهش حجم دیتابیس توسط Shrink کردن

یکی از راههایی که تا حد زیادی حجم دیتابیس شما رو کم میکنه Shrink کردن (آب رفتن) دیتابیس هست. در این روش بسیاری از فضاهای خالی فایلهای دیتابیس حذف میشه و تا حد زیادی دیتابیس شما کم حجم میشه.

 

چگونه دیتابیس را Shrink کنیم

برای این کار روی نام دیتابیس خود در Sql Server کلیک راست کنید، سپس گزینه Task و Shrink و DataBase را انتخاب کنید.

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

 

خب حالا در فرم Shrink Database روی دکمه Ok کلیک کنید. در تصویر زیر بخشی به نام Available free space می بینید. تقریبا دیتابیس شما به این مقدار فضای اضافی دارد.

آموزش شرینک کردن دیتابیس

خب بعد از زدن دکمه Ok می بینید که حجم اشغالی فایلهای دیتابیس شما چقدر کاهش پیدا می کند.

 

کاهش حجم جداول و افزایش سرعت جداول با Rebuild کردن ایندکس

علاوه بر شرینک کردن دیتابیس که فضای خالی دیتابیس را از بین می برد و باعث می شود تا حد زیادی حجم دیتابیس شما کاهش پیدا کند برای کاهش حجم جداول می تونید Index ها رو سر و سامان بدید. برای این کار جداولی که تعداد رکوردهای زیادی دارن رو انتخاب کنید و باز کنید.

 

ایندکس گذاری در sql server

طبق تصویر بالا می بینید که هر ایندکس 2 گزینه دارد. Rebuild کردن و Reorgnize کردن. گزینه Rebuild کردن باعث میشه ایندکس کاملا حذف بشه و مجدد ایجاد بشه. با این کار بهم ریختگی یا fragment ایندکس از بین میره. ولی خب این کار کمی خطرناکه ممکنه ایندکس حذف بشه و دوباره ساخته نشه !!!

بنابراین سعی کنید بیشتر از Reorgnize استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
پاسخ دهنده : saedbfd 12:13 1400/04/09

کم کردن حجم Log ها در Sql Server

 

دقت کنید گاهی اوقات به دلیل اینکه تراکنش های دیتابیس شما زیاد میشه حجم Log های دیتابیس شما بسیار زیاد و زیادتر میشه. در این موارد روی نام دیتابیس در Sql Server کلیک راست کنید و گزینه Properties رو بزنید و به سربرگ Files برید. در اینجا حجم Log شما مشخص هست.

کاهش حجم log ها در sql server

 

خب همونطوری که میبینید در تصویر بالا حجم Log فایل ها 240 مگابایت شده. اما باید ببینیم از این 240 مگابایت چقدرش مورد نیاز هست و چقدر فضای اضافی اشغال شده هست. پس دستور زیر رو مینویسیم.

 

USE porsnet_porsnetdb
GO	
SELECT name , filename , size / 128 Size_MB , FILEPROPERTY(name,'SpaceUsed') / 128 SpaceUsed_MB 
FROM sys.sysfiles 
WHERE right(filename,4) = '.ldf'

و نتیجه در تصویر زیر مشخصه

 

decrease log file in sql server

می بینید که 16 مگابایت استفاده شده است ولی حدود 240 مگابایت اشغال شده. پس میتونیم فضای اضافی رو کم کنیم. در اینجا چون 16 مگابایت استفاده شده ما یک فضای 24 مگابایتی در نظر میگیریم. دستور زیر رو اجرا کنید.

 

DBCC SHRINKFILE('porsNetDb_log',24)

 

بعد از اجرای دستور بالا فضای اضافی اشغال شده آزاد میشه و به اندازه 24 مگابایت برای Log ها در نظر گرفته میشه.

به این پاسخ امتیاز بدهید    1
امتیاز: 1654 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود