پشتیبان گیری و بازیابی اطلاعات با متد Differential
در این درس تخصصی، فرآیند ایجاد و بازیابی differential backup در SQL Server با استفاده از بانک اطلاعاتی نمونه AdventureWorks به تفصیل مورد بررسی قرار میگیرد؛ ابتدا با انتخاب گزینه Differential در بخش Backup Type و تنظیم مسیر ذخیره فایل (به عنوان مثال AdventureDif.bak) differential backup ایجاد میشود که تنها تغییرات ایجاد شده پس از full backup را ذخیره کرده و حجم فایل را کاهش میدهد، سپس در فرآیند بازیابی ابتدا full backup با گزینه “Restore with no recovery” بارگذاری شده تا امکان افزودن differential backup فراهم شود و نهایتاً differential backup با گزینه “Restore with recovery” بازیابی میشود تا بانک اطلاعاتی به حالت نهایی و عادی بازگردد؛ این آموزش دقیق و عملی، تمامی تنظیمات و نکات فنی مورد نیاز جهت پشتیبانگیری و بازیابی موثر اطلاعات را برای متخصصان SQL Server ارائه میدهد.
در این ویدئوی آموزشی، ما میخوایم differential backupرو انجام بدیم و یک نگاهی به نحوه انجام این کار بندازیم و با restore یا بازیابی differential کارمون رو ادامه بدیم و ببینیم چطوری میشه این کار رو انجام داد. بنابراین من روی AdventureWorks کلیک راست میکنم و به قسمت task و بعد backup میرم و در backup type، differentialرو انتخاب میکنم و مثل قبل من میتونم این مسیر مشابه رو برای ذخیره کردن فایل هام ببینم که از قبل اضافه شده، همچنین من می تونم مسیر دلخواهم برای ذخیره بک آپم رو انتخاب کنم هر چند که میشه از همین مسیر هم استفاده کرد پس میخوام یک فایل جدید برای ایجاد differential backup انتخاب و در نهایت اون رو ایجاد کنم، بنابراین فایلهای موجود رو پاک میکنم و یک جدید فایل اضافه میکنم، پس برای اینکار شاید دوست داشته باشم فایلم در این مسیر ذخیره بشه و همچنین دوست داشته باشم این یکی رو AdventureDif.bak بنامم.
خب بعد از اینکه اسمش رو در فیلد file name مشخص کردم، روی اوکی کلیک میکنم مجدد در پنجرهselect backup destination هم روی اوکی کلیک می کنم و بنظر میرسه که من نیازی به تغییر هیچ کدوم از گزینه های صفحاتmedia options و backup optionsدر حال حاضر نداشته باشم.
و فعلا ما میتونیم با همه پیش فرض ها برای آپشن های موجود در این دو صفحه پیش بریم. پس تنها کاری که الان میخام انجام بدم این هست که روی دکمه اوکی کلیک میکنیم و می بینیم که عملیات بک آپ گیری از دیتابیس AdventureWorks با روش differential backup خیلی سریع اجرا و انجام شد. پس تنها کاری که کافیه بکنم این هست که الان به این پیام موفقیت آمیز بک آپ گیری اوکی بگم و خیلی راحت روی دکمه اوکی کلیک میکنیم و ما میتونیم به پوشه دایرکتوری و مسیری که برای ذخیره بک آپ از نوع differential backup که چند لحظه پیش سفارشی کردیم، یک نگاهی بیندازیم؛ خب پس اجازه بدید من به مسیر ذخیره سازی این فایل برم و حالا AdventureWork differential backup رو میبینیم. از نظر حجم این خیلی کوچکتر از full backup ای که در آموزش ویدئویی همین فصل نحوه بک آپ گیری اون رو توضیح دادیم، هست و دلیلش هم این هست که چون اطلاعات کمتری در اون وجود داره، در اصل همونطور که گفتیم differential backup میاد و از تمام اطلاعاتی که ممکن هست بعد از بک آپ گیری از نوع full backup تغییر کردند بک آپ میگیره. خب حالا که یک بک آپ از نوع full backup و یک بک آپ از نوع differential backup داریم اجازه بدید ببینیم چطوری میشه أزشون restore گرفت و اطلاعات این بک آپ ها رو در دیتابیس سرور بازیابی کرد. در ابتدا ما باید full backup رو restore یا بازیابی کنیم و بعد از اون differential backup رو restore یا بازیابی کنیم. بنابراین کاری که باید انجام بدم اینه که روی AdventureWorks کلیک راست میکنیم و task رو انتخاب میکنیم. بعد restore و بعد از اون database رو انتخاب میکنیم. در قسمت device، روی سه نقطه برای رفتن به صفحه انتخاب فایل و محیط کاربری ای که فایل بک آپ گرفتمون اونجا وجود دارن کلیک میکنیم.
خب می بینید که پنجره select backup devices باز میشه و در این پنجره من روی گزینه ادد کلیک میکنم؛ خب چون بعنوان تمرین من قبلا یکبار این مسیر رو روی کامپیوتر سرورم رفتم، می بینید که مستقیما وارد همین مسیر میشم و در ابتدا فایل AdventureBack که full backup مون هست رو انتخاب میکنم. روی اوکی کلیک میکنم و کاری که برای ادامه کار باید انجام بدم اینه که در پنجره select backup devices هم اوکی رو انتخاب کنم و سپس، خیلی مهم هست حالا که می دونیم یک بک آپ از نوع differential backup رو هم دارم باید یک انتخاب دیگه هم انجام بدم، در صفحه options در قسمت recovery state به جای restore with recovery، باید restore with no recovery رو بعنوان گزینه مد نظر و سلکت شده قرار بدیم، همان طور که پیام میگه الان ما با انتخاب این گزینه می تونیم backupهای اضافی رو هم restore کنیم؛ خب همونطور که می دونید ما یک بک آپ additional هم از نوع differential backup با نام AdventureDif.bak در همون مسیر سفارشی شده، داریم و باید حتما این گزینه رو انتخاب کنیم.
اگه ما گزینه recovery state رو روی restore with recovery بصورت انتخاب شده و پیشفرض رها کنیم درحقیقت با توجه به این پیغام؛ دیگه نمی تونیم بک آپ additional حالا از هرنوعی، مثلا differential backup رو بازیابی کنیم. بنابراین restore رو با restore with no recovery انجام میدیم چونکه می دونیم یک بک آپ از نوع differential backup هم داریم. روی دکمه اوکی کلیک میکنیم و دوباره در بالا سمت راست، درصد پیشرفت فرآیند بازیابی رو مشاهده میکنیم و در نهایت به یک پیغام موفقیت میرسیم. من روی دکمه اوکی کلیک میکنم وسپس حالا ما میبینیم که AdventureWorks2014 در حالت restoring هست که به این معنی هست که در انتظار برای بازیابی بک اپ گیری بعدی هست.
بنابراین پیش میریم و اون رو انجام میدیم. خب همین جا راست کلیک، task و توجه میکنیم که اکنون اکثریت تاسک ها یا وظایفمون به رنگ خاکستری هستند و این یعنی اینکه نمی تونیم هیچ کدومشون رو انتخاب کنیم چون در حالت restore، پایگاه داده خیلی چیزها رو نمیتونه اجرا کنه و اون وظایف و تاسک ها رو انجام بده.
اما restore رو می بنیم که رنگش داره فریاد میزنه که من هنوز یک گزینه قابل انتخاب هستم، بنابراین ما به سمتrestore پیش میریم و روی گزینه اون کلیک می کنیم و در منوی باز شده هم database رو انتخاب می کنیم و دوباره به سمت device میرم و روی سه نقطه کلیک میکنم و در پنجره select backup devices گزینه فایل رو برای backup media type انتخاب میکنم و ادد رو میزنم و این بار AdventureDifرو میخوام که همون differential backupمون هست و روی دکمه اوکی هر دو پنجره کلیک میکنم وبعد از اون در صفحه و قسمت optionsپنجره restore databases میگم که ایندفعه restore with recovery رو میخوام چون این بک آپم اخرین نسخه ای هست که من دارم که الان بازیابی میکنم، با این کار وقتی ادامه بدیم پرونده بازیابی اطلاعاتمون از بک آپ های موجود از هر نوعی بسته میشه، پیش میرم و restore with recovery رو قرار میدم. روی دکمه اوکی کلیک میکنم، که به سرعت انجام شد.
دوباره اینجا هم روی دکمه اوکی کلیک میکنم و حالا AdventureWorks دیگه در حالت restoring نشون داده نمیشه. اون در حالت نرمال هست و ما تعداد زیادی از همون جدول های قبل از بازیابی رو داریم بنابراین به نظر میرسه که بازیابی با موفقیت انجام شده.