PDA

View Full Version : تغییر حجم دیتابیس



احمد کرک
شنبه 17 دی 1384, 10:17 صبح
در حال نوشتن یک برنامه بزرگ هستم
اما متاسفانه به علت وجود فیلد تصویری در جداول برنامه حجم دیتابسم خیلی بزرگ شده
به همین علت تصمیم به تغییر ساختار جداول دیتابیس گرفتم
اما حتی با حذف جداول حجم فایلها اصلی دیتابیس یعنی فایلهای
Data.mdf , Log.Ldf
نیز تغییر نمی کند.
خواهشمندم در این مورد راهنمایی فرمائید !!!!!!!!
:متعجب:

ali_abbasi22145
شنبه 17 دی 1384, 11:11 صبح
سلام
1-چند تا فیلد تصویری داری ؟
2-عکسها را می نمایش دهی یا می خواهی چاپ کن توضیح کامل بدهید.
3-چرا عکس را فشرده و بعد ذخیره نمی کنی یا آنقدر حجمش را کم کن که فقط به اندازه کیفیتی که به کارت می خورد که چاپ کنی یا نمایش دهی باشد.

احمد کرک
شنبه 17 دی 1384, 11:41 صبح
علی جان:
1-دو تا فیلد تصویری دارم
2- عکسها هم نمایش و هم چاپ می شوند.
3-عکس ها در برنامه تولید می شوند.
البته سوال اصلی من این است که چرا با اینکه فیلدهای تصویری در جدول را حذف کرده ام و حتی بعد از این کار جدول را هم حذف کرده ام باز هم فضای دیتابیس تغییر نکرد.
البته Backup دیتابیس تغییر می کند اما در هنگام restore کردن باز آن دو فایل اصلی به همای میزان فضا اشغال می کنند.
آیا گزینه ایی در sql وجود دارد که این تغییرات را ثبت می کند.
آیا می توان فایل log را حذف کرد و یا تغییر سایز داد.
با تشکر.

ali_abbasi22145
شنبه 17 دی 1384, 13:42 عصر
علی جان:

3-عکس ها در برنامه تولید می شوند? source اگر دست شماست تغییر بده که حجم عکس کم شود.

////////////////////////////////////////////////

البته سوال اصلی من این است که چرا با اینکه فیلدهای تصویری در جدول را حذف کرده ام و حتی بعد از این کار جدول را هم حذف کرده ام باز هم فضای دیتابیس تغییر نکرد.
البته Backup دیتابیس تغییر می کند اما در هنگام restore کردن باز آن دو فایل اصلی به همای میزان فضا اشغال می کنند.
آیا گزینه ایی در sql وجود دارد که این تغییرات را ثبت می کند.
آیا می توان فایل log را حذف کرد و یا تغییر سایز داد.
با تشکر.

من برنامه شما ندیدم ولی حدس می زنم که هنگام restore کردن بانک قدیمیت restore می شود!!!
حال جهت تست یک backup جدید از صفر بگیر بعد همین backup جدید را restore کامل کن و به گزینهای backup , restore را دقیقا تنظیم کن ببین باید حجم کم شده باشد جز این فکر نکنم چیز دیگر باشد !!!

احمد کرک
شنبه 17 دی 1384, 14:01 عصر
با تشکر از راهنمایی های شما:
به چه صورت می توانم یک فیلد را که از نوع Image است را تغییر حجم دهم ؟

m-khorsandi
شنبه 17 دی 1384, 15:55 عصر
برای کم کردن حجم DataBase میتونید از DBCC SHRINKDATABASE
استفاده کنید. اطلاعات بیشتر رو هم میتونید از Book on Line بگیرید.

Babak-Aghili
شنبه 17 دی 1384, 16:29 عصر
@ جناب خرسندی :
یک سوال ::
آیا بهتر نیست اون جداولی که حاوی فیلد تصویری هستند را در یک File Group‌جداگانه بسازیم ؟

واسه ی DBCC SHRINK FILE میگم ...

احمد کرک
شنبه 17 دی 1384, 18:02 عصر
اگر امکان دارد shrink را توضیح دهید ؟

احمد کرک
شنبه 17 دی 1384, 18:03 عصر
از چه طریقی این کار را باید انجام دهم؟

m-khorsandi
یک شنبه 18 دی 1384, 07:27 صبح
@ جناب خرسندی :
یک سوال ::
آیا بهتر نیست اون جداولی که حاوی فیلد تصویری هستند را در یک File Group‌جداگانه بسازیم ؟

واسه ی DBCC SHRINK FILE میگم ...

بابک جان، من هم همین نظر رو دارم ، ولی باید ببینیم دوستمون میتونن این کار رو انجام بدن یا نه؟


در ضمن دستور DBCC SHRINKDATABASE رو میتونید در Query Analyzer اجرا کنید.

احمد کرک
یک شنبه 18 دی 1384, 07:59 صبح
از راهنماییهای شما متشکرم
این کار را انجام دادم و مشکل هل شد.
فقط اگر امکان دارد بگویید منظورتان از File Group چی ؟

احمد کرک
یک شنبه 18 دی 1384, 09:43 صبح
از راهنماییهای شما در مورد SHIRINK ممنون.
اگر امکان دارد در مورد File Group توضیح مختصری دهید؟
با تشکر.