ورود

View Full Version : یک اتفاق عجیب در مورد حجم mdf



حمیدرضاصادقیان
چهارشنبه 07 آذر 1386, 07:22 صبح
سلام دوستان.من دیروز اطلاعات یک شرکت رو بازیابی کردم.وقتی که می خواستم فایل mdf رو Attach کنم پیغام میداد که این فایل اصلی Sql نیست.خلاصه من با برنامه هایی که داشتم اطلاعاتش رو خارج کردم.حجم فایل mdf حدود 30 مگابایت بود.وقتی که اطلاعاتش رو کامل دراوردم و داخل یک دیتابیس دیگه ریختم حجمش به 500 مگابایت رسید.به مشتری گفتم شک کردم که شاید من جایی اشتباه کردم.گفت نه درسته باید همین قدر باشه اخه بعضی از دیتا ها رو ما داخل دیتابیس مخفی کردیم به همین خاطر حجمش کم بود.میخواستم ببینم یک همچین چیزی امکان داره؟
مجددا برعکسش هم اتفاق افتاد .یک دیتابیسی بود که حجمش 8 گیگابایت بود اونم وقتی اطلاعاتش رو دراوردم به 15 مگا بایت رسید.میخواستم ببینم این چطور اتفاق افتاده در صورتی که داده ها هم درست است.

AminSobati
چهارشنبه 07 آذر 1386, 23:40 عصر
حمیدرضا جان تا جایی که من با SQL Server کار کردم و میشناسمش مفهومی تحت عنوان "مخفی کردن اطلاعات" در اون وجود نداره!! مطمئن هستین که اون واقعا فایل SQL Server بوده؟ خودش که میگه نه!

حمیدرضاصادقیان
پنج شنبه 08 آذر 1386, 13:44 عصر
دقیقا.ببینید وقتی اطلاعات بازیابی شد یک فایل mdf با حجم 34 مگابایت و یک فایل ldf با حجم 1 مگابایت به ما داد.وقتی میخواستم attach کنم به من پیغام داد this file not valid forsql server. من با برنامه mssqlrecovery که برنامه قوی هست این فایل رو بازیابی کردم.تمامی جداول و دیتاها رو به من داد.در یک جدولش 400000 رکورد وجود داشت.در یک جدول دیگه اش 200000 رکورد وجود داشت.من خیلی متعجب شدم.وقتی که تمامی دیتا ها رو export کردم داخل جداولش حجم دیتابیس به 500 مگابایت رسید.حالا احتمال داره در هدر فایل اصلی که 30 مگابایت بود تغییری شده که حجمش به این قدر کاهش پیدا کرده؟ ایا شما از ساختار فایل دیتا اطلاعی دارین؟ که فرضا جاییش رو تغییر بدیم حجمش کم یا زیاد بشه؟
منم بهش گفتم که sql مفهومی به نام مخفی کردن اطلاعات نداره.حتی سورس برنامه اش رو داشتم با دلفی بود کل اونو بررسی کردم چیز خاصی توش پیدا نکردم.

mhadvi_mahmaood
پنج شنبه 08 آذر 1386, 19:16 عصر
.وقتی که تمامی دیتا ها رو export کردم داخل جداولش حجم دیتابیس به 500 مگابایت رسید.حالا احتمال داره در هدر فایل اصلی که 30 مگابایت بود تغییری شده که حجمش به این قدر کاهش پیدا کرده؟ ایا شما از ساختار فایل دیتا اطلاعی دارین؟ که فرضا جاییش رو تغییر بدیم حجمش کم یا زیاد بشه؟
به یک چیزی شک کردم و اونم اینه که الان شما حجم دیتاتون بالا نرفته بلکه حجم لوگ فایل هست که به خاطر ترنزکشن های زیاد (همون Import )بالا رفته. حجم لوگ فایل چقدر بود؟

برای جداولت و دیتابیست این دو دستور رو اجرا کن و نتیجه اش رو اینجا بذار.


sp_spaceUsed 'customers'
SP_HelpDB 'Northwind'

حمیدرضاصادقیان
پنج شنبه 08 آذر 1386, 21:43 عصر
نه دوست عزیز.من تمام اینها رو چک کردم بعد این پست رو گذاشتم.اگه در پست اول دقت کنی نوشتم که برای رفع تعجب خودم دیتابیس رو Shrink کردم. من هم همین فکر شما به ذهنم رسید ولی فقط 2-3 مگابایت تغییر کرد.دیتابیس هم در Recovery mode simple هست.