در سایتم از یک دیتابیس Sql Server استفاده می کنم. همه چیز خوب هست ولی امروز متوجه شدم که حجم فایلهای دیتابیس خیلی زیاد شده و نزدیک به 370 مگابایت رسیده در حالی که اطلاعات دیتابیسم زیاد نیست.
لطفا راهنمایی بفرمایید چجوری میتونم حجم فایلهای دیتابیس Sql Server رو کاهش بدم.
اگر اطلاعات داخل دیتابیس شما زیاد نیست ولی حجم دیتابیس شما زیاد هست و فضای زیادی رو روی سرور شما میگیره این حجم احتمال زیاد Total Size هست. یعنی حداکثر فضایی که دیتابیس شما میتونه داشته باشه. به عبارتی ممکنه حجم اطلاعات شما 20 مگابایت باشه ولی حداکثر فضایی که دیتابیس شما میتونه داشته باشه 370 مگابایت هست و همین مقدار فضا رو هم از هاست شما اشغال میکنه. اما روشهایی هست که شما میتونید این حجم رو کم کنید و فضای بیشتری از سرور یا هاست خودتون رو آزاد کنید.
یکی از راههایی که تا حد زیادی حجم دیتابیس شما رو کم میکنه Shrink کردن (آب رفتن) دیتابیس هست. در این روش بسیاری از فضاهای خالی فایلهای دیتابیس حذف میشه و تا حد زیادی دیتابیس شما کم حجم میشه.
برای این کار روی نام دیتابیس خود در Sql Server کلیک راست کنید، سپس گزینه Task و Shrink و DataBase را انتخاب کنید.
خب حالا در فرم Shrink Database روی دکمه Ok کلیک کنید. در تصویر زیر بخشی به نام Available free space می بینید. تقریبا دیتابیس شما به این مقدار فضای اضافی دارد.
خب بعد از زدن دکمه Ok می بینید که حجم اشغالی فایلهای دیتابیس شما چقدر کاهش پیدا می کند.
علاوه بر شرینک کردن دیتابیس که فضای خالی دیتابیس را از بین می برد و باعث می شود تا حد زیادی حجم دیتابیس شما کاهش پیدا کند برای کاهش حجم جداول می تونید Index ها رو سر و سامان بدید. برای این کار جداولی که تعداد رکوردهای زیادی دارن رو انتخاب کنید و باز کنید.
طبق تصویر بالا می بینید که هر ایندکس 2 گزینه دارد. Rebuild کردن و Reorgnize کردن. گزینه Rebuild کردن باعث میشه ایندکس کاملا حذف بشه و مجدد ایجاد بشه. با این کار بهم ریختگی یا fragment ایندکس از بین میره. ولی خب این کار کمی خطرناکه ممکنه ایندکس حذف بشه و دوباره ساخته نشه !!!
بنابراین سعی کنید بیشتر از Reorgnize استفاده کنید.
دقت کنید گاهی اوقات به دلیل اینکه تراکنش های دیتابیس شما زیاد میشه حجم Log های دیتابیس شما بسیار زیاد و زیادتر میشه. در این موارد روی نام دیتابیس در Sql Server کلیک راست کنید و گزینه Properties رو بزنید و به سربرگ Files برید. در اینجا حجم Log شما مشخص هست.
خب همونطوری که میبینید در تصویر بالا حجم 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'
و نتیجه در تصویر زیر مشخصه
می بینید که 16 مگابایت استفاده شده است ولی حدود 240 مگابایت اشغال شده. پس میتونیم فضای اضافی رو کم کنیم. در اینجا چون 16 مگابایت استفاده شده ما یک فضای 24 مگابایتی در نظر میگیریم. دستور زیر رو اجرا کنید.
DBCC SHRINKFILE('porsNetDb_log',24)
بعد از اجرای دستور بالا فضای اضافی اشغال شده آزاد میشه و به اندازه 24 مگابایت برای Log ها در نظر گرفته میشه.
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1400/08/02
- ساعت :
02:35:00 PM
- بازدید :
2563
- پاسخ :
1
|
تاریخ :
1403/01/15
- ساعت :
04:12:00 PM
- بازدید :
800
- پاسخ :
2
|
تاریخ :
1402/10/18
- ساعت :
10:45:00 PM
- بازدید :
706
- پاسخ :
2
|
تاریخ :
1402/08/18
- ساعت :
08:43:00 AM
- بازدید :
1318
- پاسخ :
0
|
تاریخ :
1402/08/16
- ساعت :
09:45:00 PM
- بازدید :
1039
- پاسخ :
1
|
تاریخ :
1402/06/27
- ساعت :
12:27:00 PM
- بازدید :
1461
- پاسخ :
2
|
تاریخ :
1402/06/25
- ساعت :
11:37:00 AM
- بازدید :
1042
- پاسخ :
1
|
تاریخ :
1402/06/18
- ساعت :
10:36:00 AM
- بازدید :
1753
- پاسخ :
2
|
تاریخ :
1399/06/01
- ساعت :
10:58:00 PM
- بازدید :
7555
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2011
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
76
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
429
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4798
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|