نحوه‌ی تهیه نسخه پشتیبان از پایگاه داده‌ها در SSMS

همان‌طور که میدانید داشتن Backup برای پایگاه داده‌ها یک امر ضروری هست. اهمیت این مورد برای کسایی که اطلاعات خود را ازدست‌داده‌اند و یا سرور و پایگاه داده آن‌ها دچار مشکل شده است بسیار ملموس‌تر است.

یکی از اهداف اصلی داشتن Backup امکان disaster recovery plan)DRP) یا بازیابی داده‌ها بعد از خرابی پایگاه داده هست. در حساس‌ترین شرایط هم ما باید امکان point in time recovery رو داشته باشیم؛ یعنی بتوانیم پایگاه داده را به وضعیتی که در ساعت و دقیقه خاص داشته است بگردانیم.

در ادامه تفاوت‌های این نوع از نسخه پشتیبان‌ها را بررسی می‌نماییم و درنهایت یک طرح مناسب که با ماهیت دیتابیس متناسب باشد برای تهیه نسخه پشتیبان داریم.

در این مبحث می‌خواهیم پیرامون بک آپ گیری در SQL صحبت کنیم که شامل مراحل زیر هست:

مرحله اول:

SSMS را اجرا نمایید و از منوی سمت چپ پایگاه داده‌ی موردنظر را انتخاب نموده و بروی آن کلیک راست نمایید. گزینه‌ی task را انتخاب نمایید و در زیر منوی مربوط به آن گزینه‌ی backup را انتخاب کنید. همان‌طور که در شکل زیر مشاهده می‌کنید.

مرحله دوم: در این مرحله قبل از هر کاری باکمی تأمل تمامی گزینه‌ها را مشاهده کنید. هنگامی‌که تعداد این گزینه‌ها و تب‌های مربوط به هرکدام از آن‌ها بیشتر شود، ممکن است ما را دچار سردرگمی کند. ازاین‌رو فقط به بخش‌های اصلی که در اینجا آن‌ها را مشخص کردیم می‌پردازیم.

  • پیش از هر چیز از درستی پایگاه داده‌ای که می‌خواهیم از آن بک آپ بگیریم اطمینان حاصل می‌کنیم. سپس تعیین نوع بک آپ گیری از پایگاه داده که ما آن را به‌صورت full در نظرمی گیریم تا بک آپ گیری به‌صورت کامل انجام شود. برای تهیه بک آپ سه حالت رو در اختیارداریم:full, differential و transaction log.

برای مثال اگر یک full backup تا ساعت ۱۰ صبح بگیریم یک diff backup تا ساعت ۱۰ ونیم داشته باشیم و یک transaction back up هر ۱۵ دقیقه داشته باشیم و همچنین یک diff backup ساعت ۱۱ داشته باشیم درصورتی‌که transaction backup وجود نداشته باشد، نمی‌توانیم به ساعت ۱۰ و ۵۰ دقیقه برگردیم. تنها می‌توانیم به ساعت ۱۰ و نیم برگردیم و یا اینکه به ساعت ۱۱

بازمی‌گردیم. بنابراین با کمک چنین نسخه پشتیبانی امکان بازگشت به عقب تا ثانیه و دقیقه را خواهیم داشت. برای مثال می‌توانیم به ساعت ۱۰:۵۱:۳۷ برگردیم.

نکته دیگر این هست که تنها عملیاتی که LDF را خالی می‌کند تهیه نسخه پشتیبان از آن می‌باشد درنتیجه در حالتی که recovery Model دیتابیس شما روی Full ست شده باشد می‌بایست برای جلوگیری از حجیم شدن ldf حتماً Transaction log backup داشته باشید.

Transaction log که از فایل‌های لاگ نسخه پشتیبان تهیه می‌کند امکان برگشت به عقب تا لحظه‌ای که بک آپ گرفته‌ایم را فراهم می‌نماید.

درواقع این نوع نسخه پشتیبان از محتویات ldf نسخه پشتیبان تهیه می‌نماید و با پسوند TRN نگهداری می‌شود. در لاگ فایل(ldf) سابقه تغییرات رکوردها راداریم. برای مثال اگر دستور آپدیت یک سطر را داشته باشیم مقادیر قدیم و جدید این فیلد در لاگ فایل نگهداری می‌شود. برای بازگشت به زمان خاص هم تنها داشتن همین سابقه کفایت می‌کند.

علی رقم اینکه فایل ldf ریزنقش است اما از اهمیت خاصی برخوردار است. معمولاً تمرکز ما روی جداول و رکوردها و کوئری هاست؛ یعنی بیشتر روی mdf توجه داریم. همان‌طور که می‌دانیم mdf حاوی داده‌های اصلی مثل جداول و Object ها هست، اما ldf به‌نوعی سوابق رو نگهداری می‌کند یعنی مشخص می‌کند که چه‌کارهایی روی سطرها انجام‌شده است.

  • Database را به‌عنوان مؤلفه‌ای که می‌خواهید از آن نسخه‌ی پشتیبان تهیه نمایید، در نظر بگیرید. با این کار امکان بک آپ گیری به‌طور کامل از پایگاه داده فراهم می‌شود.
  • با گزینه‌ی remove می‌توانید مسیر و نام فایل نسخه پشتیبان پیش‌فرض را حذف نمایید البته این به معنی حذف فایل بک آپ نیست و تنها مسیر و نام آن فایل بک آپ از این dialog box حذف می‌شود.
  • با کمک گزینه‌ی add مسیری فضایی را که برای بک آپ گیری در نظر گرفتیم اضافه می‌کنیم. آدرس را می‌توان با فرمت زیر نیز نوشت. همچنین می‌توانیم برای راحتی کار همه‌ی فایل‌های بک آپ را در یکجا ذخیره نماییم تا در صورت نیاز بتوانیم آن‌ها را بازیابی کنیم و یا آن‌ها را حذف نماییم.
  • در ادامه نام فایل را وارد می‌نماییم برای نام‌گذاری می‌توانیم با فرمت زیر که از یک نسخه پشتیبان الگوبرداری کردیم استفاده نماییم. بر روی گزینه‌ای ok کلیک نمایید.
  • اکنون برای یک آپ گیری آماده هستیم و می‌توانیم بر روی گزینه ok کلیک نمایید و یا منوی اسکریپت را مشاهده نمایید؛ که البته انتخاب این اسکریپت به معنای اجرای نسخه پشتیبان نیست، بلکه فقط یک اسکریپت تولید می‌کند. پس از تائید دایره سبز ر درصد بک آپ گیری را نشان می‌دهد و در آخر یک پیغام ارسال می‌کند. با تائید این پیغام به حالت اولیه برمی‌گردد. اگر به دنبال محل آن هستیم باید مسیر بک آپ را ببینیم.

    • در ادامه مسیر و نام فایل بک آپ مشخص می‌شود.