PDA

View Full Version : سوال: افزایش بیش از حد دیتابیس



ehsan2007
سه شنبه 12 شهریور 1387, 11:01 صبح
من پروژه وبمو روی سرور فرستادم روی سرور سایتم دیتابیسش حدودا 12 تا جدول با پنج تا ویو داره وچند تا استرو پروسیجر داره الان با عضویت 44 نفر توی سایتم حجم دیتابیسم حدودا 60مگابایت شده
این غیر عادی نیست یا معمولیه
اگه غیر عادیه جداولو بزارم اینجا آخه سه تا جدول فقط پر میشه بیشتر که ارتباطها با هاشونه

یک سوال دیگم هست وقتی ویو رو میزاریم کوئری که استخراج میکنه حجمی از دیتابیسرو میگیره شاید مشکل از این باشه

رضا عربلو
سه شنبه 12 شهریور 1387, 16:43 عصر
احتمالاً به دلیل افزایش حجم لاگ فایل شما می باشد. اندازه آن را چک کنید.

ehsan2007
سه شنبه 12 شهریور 1387, 16:58 عصر
احتمالاً به دلیل افزایش حجم لاگ فایل شما می باشد. اندازه آن را چک کنید.

میشه بشتر توضیح بدید منظورتون چیه

amin_alexi
چهارشنبه 13 شهریور 1387, 07:50 صبح
هر DataBase توی SQL Server در هنگام ذخیره سازی روی Hard با حداقل دو فایل با پسوندهای Ldfو Mdf ذخیره میشه !
که در Mdf اطلاعاتی که شما ذخیره میکنید و در Ldf اطلاعات Log شما میباشد !
این اطلاعات تراکنشهای اعمال شده بر روی DataBase است !
واسه همین شاید حجم اطلاعات واقعی شما به 2 Mb هم نرسه ولی Log فایل شما 100 mb هم بشه !

ehsan2007
چهارشنبه 13 شهریور 1387, 20:31 عصر
ممنون از راهنماییهای دوستان ولی چطور حجمشو کم کن وقتی به دیتابیس روی سرور وصل میشم با دستور alter میشه این کارو کرد ولی نمیدونم اندازه و حجم فایل log چقدره تا خرابکاری نشه و اطلاعاتم پاک نشه تو رو خدا کمک کنید امروز رفتم نگاه کردم دستابیسم حجمش 111مگابایت شده بود
با چه کوئری اطلاعات دیتابیسمو بدست بیارم
توی sql server 2000
با کوئری sp-helpdb این کارو انجام میدن ولی توی 2005 ارور میده لطفا کمک کنید

jaza_sa
چهارشنبه 13 شهریور 1387, 23:31 عصر
راهی که من خودم تست کردم و ازش جواب گرفتم با استفاده از محیط Management بود
کارایی که کردم رو براتون میزارم ، شاید به دردتون خورد :

اول از همه باید اطلاعات رو Export کرد ، تا یه نسخه از اطلاعاتمون داشته باشیم و اگر اتفاقی برای دیتابیس افتاد اطلاعات از بین نرن ...

1) بر روی دیتابیس راست کلیک میکنیم
Tasks > Export Data

2) بر روی دیتابیس راست کلیک میکنیم
Tasks > Generate Scripts

3) دیتابیس رو حذف کنید و یک دیتابیس جدید با همون نام قبلی بسازید

4) Script تولید شده در مرحله 2 رو اجرا کنید

5) بر روی دیتابیس راست کلیک میکنیم
Tasks > Import Data
نکته : اگر در حین بازگردانی اطلاعات با خطا مواجه شدید ، گزینه Optimize for many tables رو تیک بزنید

من با این کار حجم فایل لاگ رو از 165 مگابایت به 12 مگابایت کاهش دادم ، بدون اینکه چیزی تغیر کنه
موفق باشید

mehdi.mousavi
چهارشنبه 13 شهریور 1387, 23:44 عصر
من پروژه وبمو روی سرور فرستادم روی سرور سایتم دیتابیسش حدودا 12 تا جدول با پنج تا ویو داره وچند تا استرو پروسیجر داره الان با عضویت 44 نفر توی سایتم حجم دیتابیسم حدودا 60مگابایت شده این غیر عادی نیست یا معمولیه اگه غیر عادیه جداولو بزارم اینجا آخه سه تا جدول فقط پر میشه بیشتر که ارتباطها با هاشونه یک سوال دیگم هست وقتی ویو رو میزاریم کوئری که استخراج میکنه حجمی از دیتابیسرو میگیره شاید مشکل از این باشه


سلام.
با Shrink کردن log file میتونید حجم اونو پایین بیارید. برای اطلاعات بیشتر، در BOL دنبال SHRINK بگردید.

amin_alexi
پنج شنبه 14 شهریور 1387, 10:11 صبح
من خودم با sp_detach_db ديتچ مي كنم !
بعد log فايل رو پاك ميكنم و بعد با sp_attach_single_file_db دوباره Attach مي كنم ...
ولي تو سايت شايد نشه !
تست نكردم ... ببين شايد طبق گفته دوستمون SHRINK جواب بده !!

sasanazizi
پنج شنبه 14 شهریور 1387, 15:55 عصر
RECOVER MODEL DATABASE را روی SIMPLE قرار بده و یا LOG BACKUP منظم داشته باش