PDA

View Full Version : آموزش: کمک در ريستور کردن اطلاعات



elham8406
پنج شنبه 19 آذر 1388, 20:32 عصر
سلام دوستان من چند تا سوال در مورد اس کيو ال دارم اگه ممکنه جواب دهيد
من يه بانک اطلاعات دارم که روزانه حدود 4000 رکورد بهش اضافه ميشه يعني 120000رکورد در ماه حالا با اين فرض سه سوال مطرح است:
1- آيا اگر من هر ماه از اطلاعت بک آپ بگيرم و اطلاعات ماه قبل رو پاک کنم در سرعت برنامه تاثيري داره؟
2- اس کيو ال تا چند رکورد ذخيره مي کنه؟
3- اين سوال مهمترين سوال منه :
من مثلا اطلاعات آبان رو بک آپ گرفتم و اونها رو پاک کردم و امروز يعني 19 آذر مي خواهم اونها رو برگردونم ولي با اين شرط که اطلاعات از اول آذر تا امروز هم رو داشته باشم يعني يه جورايي اون اطلاعات آبان رو جوين کنم يا به قولي اپند کنم؟

اگه به اين سوالات جواب بدهيد ممنون مي شوم.

حمیدرضاصادقیان
جمعه 20 آذر 1388, 00:49 صبح
سلام.ببینید شما هر وقت که یک backup از دیتابیس میگیرید(از نوع full) همیشه از اول تا آخرین تغییرات داخل اون ثبت خواهد شد.
یعنی اگر backup 19 اذر رو بازیابی کنید تا اون لحظه هرچی دیتا وارد کردید رو برمیگردونه. شما باید هرروز backup بگیرید و یک job روی سرور تعریف کنید که این کار به صورت اتوماتیک انجام بشه به جز اون خودتون هم باید روی سیستمهای خودتون backup رو تهیه کنید.
در مورد حجم دیتای اس کیو ال هم هر چقدر که هارد شما گنجایش داشته باشه!!
روشهای مختلفی برای backup گرفتن وجود داره.
لینک زیر اطلاعات کاملی داره.
http://www.teratrax.com/articles/sql_server_backup_types.html
موفق باشید.
یاعلی

elham8406
جمعه 20 آذر 1388, 10:28 صبح
سلام به آقاي صادقيان عزيز
من مي دونم به صورت فول بک آپ بگيرم تمام تغييرات رو ثبت مي کنه و بايد هرروز بک آپ بگيرم ولي مي خواهم براي برگردوندن بک آپ مثلا همون اطلاعات امروز باشه و اطلاعاتي رو هم که ديروز پاک کردم به اونها بچسبونم گفتم مثلا جوين کنم يا apendکنم يعني اطلاعات رو ريستور کنم و اطلاعات غير از اطلاعات بانک بک آپ که توي سيستم هست رو نيز داشته باشم.
انشاالله که منظورم رو رسونده باشم تا شما هم بتونين بهتر کمکم کنين.
در مورد بک آپ روزانه من يه جاب تعريف کردم که هر دقيقه بک آپ مي گيره ولي اين بک آپ در طول حدود 10 ساعت حجمش به 93 گيگابايت رسيد بايد چه کنم که فقط تغييرات رو به بک آپ قبلي بچسبونه نه هر دقيقه يه بک آپ جدا گانه بگيره؟

حمیدرضاصادقیان
جمعه 20 آذر 1388, 11:15 صبح
سلام.پس شما باید از یکی از دو روش differential یا log backup استفاده کنید. اگر از log استفاده کنید باید مدل recovery دیتابیس روی full باشه بعد اول روز شما یک full backup میگیرید بعد تا اخر روز هر دو دقیقه یک بار یک log backup بگیرید. این مزیتش اینه که هروقت خواستید اطلاعات رو بازیابی کنید میتونید به یک زمان خاصی اطلاعات رو برگردونید. برای مدل differential هم کارهای جدیدی که در دیتابیس اعمال شده پس از اخرین full backup رو برای شما backup میگیره.توضیحات کاملش درون لینکی که بهتون دادم هست.همچنین ر BOL نیز توضیحات کاملی وجود داره.
موفق باشید.
یا علی

AminSobati
دوشنبه 23 آذر 1388, 23:44 عصر
سلام دوست عزیزم،
شما نمیتونین به شکلی توضیح دادین اطلاعات رو دسته بندی کنین برای Backup گیری. عمل Restore کار Append رو انجام نمیده. شاید بهتر باشه اطلاعات رو Export و در موقع لزوم Import کنین

benyaminrahimi
سه شنبه 24 آذر 1388, 21:53 عصر
دوست عزيز اين روش نا مناسبي هست

يک ديتا بيس بسته به نوع نگارش و نرم افزار تا 2 ترا بايت بشه
شما به جاي اين کار يک فيلد سال و ماه قرار بدين
و در ورود برنامه از کاربر بگيرين
و select هاتون رو رو اين دوتا فيلد انجام بدين
اين همه داستان نمي خواد
هر 4 ماه يک بارم shirink کن ديتابيست رو

اگرم خيلي حساسين مي تونين آخر هر سال با يک stored procedure
يک ديتا بيس جديد بسازين و انتقال بدين