PDA

View Full Version : نوشتن job برای بک اپ به صورت full , diffrential



saeeedft
شنبه 17 آبان 1393, 15:49 عصر
با سلام،دوستان من میخام یک job بنویسم که بار اول full و بارهای بعدی full بک اپ بگیره،برای این کار یک job جداگونه نوشتم و توی اون به صورت full بک اپ رو گرفتم و در job دوم هم یک یdiff بک اپ گرفتم اما برای ریستور میگه بیاد اول full بک اپ گرفته باشید تا بتونم بک اپ diff شما رو ریستور کنم،من اودم اون full بک اپی که گرفته بودم کنار بک اپ diff قرار دادم باز هم نمیشناسنه،سوالم اینه سناریو باید چه جور باشه برای گرفتن یک full و یک diff بک اپ

حمیدرضاصادقیان
شنبه 17 آبان 1393, 19:08 عصر
سلام.
ببینید در Full Backup ازتمام دیتابیس شما Backup گرفته می شود.
وقتی شما از Differential Backup استفاده می کنید این میاد ازآخرین Full Backup شما تا لحظه Backup گیری رو میگیره و اگر یک Differential دیگه نیز تهیه کنید باز از آخرین Full Backup تا اون لحظه است و به صورت سلسله مراتبی حجم اون افزایش پیدا میکنه مگر اینکه بینش یک Full Backup بگیرید. موقع Restore کردن یک دیتابیس باید هر Differential که انتخاب میکنید آخرین Full Backup قبل از اون رو انتخاب کنید و هر فایلی مورد قبول نیست.
به طور مثال شما یک full صبح ساعت 8 گرفتید و هریک ساعت یک بار یک Differential تهیه میکنید و مجددا ظهر نیز یک Full Backup میگیرید و تاشب همین روند برای Differential ادامه داره.
حالا دچار مشکل شدید و میخواهید اطلاعات رو برگردونید.
فرض کنید اطلاعات شما ساعت 8 شب خراب شده.
شما باید اول full Backup که ظهر گرفتید رو انتخاب کنید بعد آخرین differential Backup رو انتخاب کنید.
زیرا از ظهر به بعد در اخرین Differential شما هست.

برای پیاده سازی سناریوهای backup باید ببینید میزان حساسیت داده ها و میزان تغییرات بر روی داده ها و خیلی پارامترهای دیگه به چه شکل است که بتوان یک سناریوی درست را برای آن انتخاب کرد.

saeeedft
شنبه 17 آبان 1393, 21:47 عصر
ممنون از توضیحات عالیتون،من خودم سانریو رو هم در اوردم،اخر شب فول بک اپ و 5 ساعت یکبار diff، منتها مشکل من توی job هستش،برای اون باید دو تا job مختلف تعریف کنم؟برای full هر شب جدا و برای diff هم جدا؟؟؟حالا بخام برگردونم باید full رو کپی کنم توی فولدر و جایی که diff هست؟ممنون میشم در این رابطه هم توضیح بدید

حمیدرضاصادقیان
شنبه 17 آبان 1393, 21:58 عصر
شما یک Maintenance Plan ایجاد کنید و داخلش دوتا Subplan با زمان بندی های مختلف.
یکی از این subplan هارو برای Full backup اختصاص بدید و زمانبندی اونو هم درست کنید و یکی هم برای Differential Backup بذارید و زمان بندی اون هم تنظیم کنید.
بر هرکدام از اینها خود SQL server یک Job ایجاد خواهد کرد به صورت جداگانه که بعدا میتوانید به صورت تکی انها را نیز اجرا کنید.
مسیر Backup گیری جفتشون هم یک جا قرار بدین.
که هردوتای انها در یک مسیر Backup بگیرن.
یک Subplan دیگه هم بذارید که مثلا اگر تمایل داشتید هفته ای یک بار اجرا بشه و Backup های قدیمی تر از فرضا 3 هفته رو حذف کنه که حجم فایلهاتون افزایش پیدا نکنه.
با این روش دیگه نیازی به جابجا کردن backup ها هم ندارید.و خیلی راحت از حجم فایلها و تاریخشون متوجه میشید که ساختارش چیه به جز این میتونید برای نام گذاری خودتون نیز script بنویسید و اونو اجرا کنید که فکر کنم یک ذره کارتون رو سخت کنه.