چرا استفاده از طرح پشتیبان برای سازمانها یک ضرورت است؟
زمان تقریبی مطالعه: 7 دقیقه
طرح پشتیبان چیست؟
قبل از هر چیز بهتر است بدانیم طرح پشتیبان یا Backup به چه معناست؟ در دانش فناوری اطلاعات، Backup یا عمل Backup گیری اشاره به تهیه کپیهایی از اطلاعات دارد. این نسخه های کپی شده معمولا برای بازگرداندن اطلاعات هنگام آسیب دیدن و یا مفقود شدن اطلاعات اصلی بکار میروند .فرض کنید که دریک سازمان، وظیفه تهیه نسخه پشتیبان را برعهده شما گذاشتهاند. از آنجاییکه Backup گیری به روشها و با استراتژیهای مختلف و با تنظیمات مختلف بصورت خودکار قابل پیاده سازی است کاربر این امکان را دارد که بتواند با برنامهریزی مشخص و قابل کنترل، Backupگیری را انجام دهد. چرا که دامنه انتخاب روش Backupگیری متنوع است و فرد مسئول باید براساس امکانات موجود، بهترین روش با بالاترین بازده و کمترین ریسک را انتخاب کند.
در واقع Backup Plan امکانی را برای کاربر فراهم میاورد که بتواند دربازه زمانی مشخص و با انتخاب استراتژیهای تعریف شده، یک نسخه Backup از دیتابیس را در تاریخهای تنظیم شده و در مسیر مشخص، تهیه کند.
ضرورت استفاده از طرح پشتیبان (backup plan) در سازمانها
ضرورت پشتیبان گیری
هر فردی در طول زندگیاش ممکن است چیزهایی را گم کند. ممکن است پولتان را از دست بدهید، راهتان را گم کنید! خب، کامپیوتر هم احتمال دارد چیزی را فراموش یا گم کند. تا بحال تصور کردهاید که ممکن است روزی سرور سازمان شما قفل کرده و همه اطلاعات ضروریتان از بین برود و هیچ راهی برای بازگرداندن آنها نداشته باشید؟ این اتفاق میتواند برای شما بسیار وحشتناک و طاقت فرسا باشد. در سطح خیلی کوچک فرض کنید درآخرین ماههای تحصیل در دانشکده هستید و زمان زیادی بر روی پایان نامهنان کار کردهاید. در حال کار روی فایل پایاننامه هستید که با یک صفحه سیاه روبرو میشوید که نوشته شده: درایو C وجود ندارد! نابودی چندین گیگابایت اطلاعات، به معنی بر باد رفتن چند سال گزارش و تکالیف و مقالات و اسناد خواهد بود. حال این اتفاق را به یک سازمان بزرگ تعمیم دهید و وسعت تبعات منفی آنرا تجسم کنید.
ضرورت استفاده از طرح پشتیبان
جدای از مبحث ضرورت پشتیبانگیری از دیتابیس، شما بعنوان فرد مسئول در سازمان باید یک استراتژی و خط مشی مناسب برای بکاپگیری تان طراحی کنید. هر چه که زمان میگذرد، افراد و شرکتها با حجم بالا و غیر قابل کنترلی از اطلاعات روبرو میشوند، که منظمسازی و دستهبندی آنها روز به روز سختتر شده و مهمتر اینکه بدون حمایت لازم رها شدهاند. با این تفاسیر مهمترین نکته در پشتیبانگیری، برنامهریزی برای یک استراتژی صحیح و کارآمد است، تا در گذر زمان و با بالا رفتن حجم اطلاعات، کارایی لازم را داشته باشد.
بعنوان جمعبندی برخی از ضرورتهای استفاده از طرح پشتیبان عبارتند از:
- ﮔﻢ ﺷﺪﻥ ﻳﺎ ﺣﺬﻑ ﺷﺪﻥ ﺍﻃﻼﻋﺎﺕ
- بازگرداندن به نسخه قبلی بعد از تغییرات اعمال شده
- هزینه بر بودن تولید مجدد اطلاعات در صورت حذف شدن آنها
- غیرممکن بودن بازگردانی اطلاعات در برخی موارد
تااینجای مقاله، امیدوارم توانسته باشم شما را نسبت به ضرورت پشتیبانگیری متقاعد کنم. با این توضیحات، به نظر من همین امروز هم برای تهیه نسخه پشتیبان دیر است! همین الان باید اقدام کنید.
روشهای backup گیری از اطلاعات
- Full Backup
معمولترین روش Backup گیری از SQL Server روش Full یا Complete میباشد. به این روش Database Backup هم گفته میشود. در این نوعBackup گیری از کلیهDatabase های موجود برروی Instance شما بهمراه هم Transaction Log های موجود در آن Backup گرفته میشود و با این روش شما براحتی میتوانید اطلاعات خود را Recover یا بازیابی کنید. این روش سادهترین روش بازیابی اطلاعات میباشد زیرا تمامی اطلاعات بیکباره بازیابی میشوند.
- Differential Backup
یکی دیگر ازروشهای معمولBackup گیری، روش معروف Differential است .در این روش فقط از تغییراتی که در Databaseهای شما از آخرین Backup گرفته شده انجام شده است، Backup گرفته میشود. طبیعی است که اگر از Database های شما تاکنون Backup گرفته نشده باشد در اولین باری که بصورت Differential بکاپ بگیرید تمامی اطلاعات Database ها Backup گرفته می شوند.
پس همانطور که عنوان هم کردیم اگر شما یک Full Backup بگیرید و سپس یک Differential Backup بگیرید محتویات موجود در Differential Backup شما فقط شامل اطلاعات تغییر کرده بعد از Full Backup میباشد که در واقع همان اطلاعات [۱] Extentها هستند. زمانیکه میخواهیدBackup ی از SQL سرور خود را بازیابی کنید کافیست ضمن بازگردانی آخرین Full Backup فقط اطلاعات موجود در آخرین Differential Backup را نیز بازیابی کنید تا اطلاعات کامل بازیابی شود. در این حالت سایر Differential Backup های موجود نادیده گرفته می شوند.
- Log Backup
اگر Recovery Model پایگاه دادههای شما در حالت Full یا Bulk-Logged قرار داشته باشد بنابراین شما میتوانید از Transaction Log های خود نیز Backup بگیرید. اگر شما در ساختار خود Transaction Log Backup را دیده باشید و به همراه آن Full Backup نیز داشته باشید قادر خواهید بود چیزی شبیه به Restore Point ویندوز را برای SQL سرور ایجاد کنید بدین معنا که اگر شخصی بصورت تصادفی کلیه اطلاعات موجود در Database های شما را حذف کند، شما میتوانید با استفاده از اینBackup ها اطلاعات را بحالت عملیاتی قبل از حذف اطلاعات بازیابی کنید. نکته منفی که در خصوص Log Backup ها وجود دارد این است که اگر Recovery Model شما به حالت Bulk-Logged قرار گرفته باشد شما برای بازیابی مجبور هستید کل Transaction Log های موجود را بازیابی کنیدLog Backup ها در واقع همان Transaction Log Backup ها هم هستند، این نوع Backup به شما اجازه میدهد که بتوانید از بخش فعال Transaction Log ها Backup بگیرید. در اینصورت زمانیکه شما از اطلاعات خود یک Full یا Differential Backup می گیرید، Transaction Log Backup تمامی اطلاعاتی که بعد از گرفتن این Backup ها ایجاد شده اند را نیز Backup میگیرد. زمانیکه دستور گرفتن Transaction Log Backup صادر شد فضایی که توسط Transaction Log ها اشغال شده بود آزاد و میتوان از آن برای سایر فرآیندهای سیستم استفاده کرد اما اگر شما Transaction Log Backup نگیرید حجم این Log ها همینطور اضافه خواهد شد و رشد خواهد کرد.
- File Backup
یکی دیگر از گزینههایی که برای Backup گیری از SQL سرور وجود دارد به File Backup معروف است. این روش به شما امکان این را میدهد که بتوانید بجای اینکه کل Database را Backup بگیرید هر فایل را بصورت مستقل Backup بگیرید. البته این روش زمانی صادق است که شما چندین فایل Data در Database خود ساخته باشید. یکی از دلایل مهم استفاده از این روش Backup گیری زمانیست که شما یک Database دارید که دارای چندین فایل با حجمهای زیاد است و میخواهید هر کدام از این فایل ها را بصورت جداگانه و مستقل Backup بگیرید. توجه کنید که در بیشتر موارد شما فقط یک فایل در Database خود دارید و این روش معمولا به کار شما نمیاید. این نوع Backup معمولا در محیطهای Enterprise ای انجام میشود که واقعا حجم عظیمی از اطلاعات در آن وجود دارد.
- Filegroup Backup
شما می توانید برای فایلهای موجود در Database خود file group درست کنید، علاوه بر اینکه شما میتوانید با استفاده از روش قبلی که File Backup بود از فایلهای مجازی موجود در Database خود Backup بگیرید. میتوانید از این file group ها که به تعریف فارسی، گروه فایلها میباشند نیز Backup بگیرید. بصورت پیشفرض در یک Database یک عدد file group اصلی یا PRIMARY file group وجود دارد که به فایل Data ای که ایجاد شده است گره میخورد. تاکید کردیم که شما میتوانید از هر file group ها بصورت جداگانه و مستقل Backup بگیرید، بزرگترین مزیتی که file group Backup ها نسبت به file Backup ها دارند این است که شما میتوانید file group های خود را بصورت فقط خواندنی یا Read Only بکاپ بگیرید این بدین معناست که نمیتوان این اطلاعات را دستکاری کرد و صرفا میتوان آنرا خواند. شما میتوانید بجای اینکه از همه Databaseهای خود Backup بگیرید تنها در وهلههای زمانی معین از نسخههای خواندنی و نوشتنی یا Read Write مربوط به file group ها Backup بگیرید.
- Copy Only Backup
زمانیکه شما از روش Copy Only Backup برای Backup گیری Database ها استفاده میکنید تقریبا Backup ای شبیه به Full Backup گرفتهاید که در آن تمامی اطلاعات موجود در Database ها وLog ها و سایر موارد مرتبط وجود دارد، اما این سئوال پیش میاید که واقعا تفاوت Full و Copy در چه چیزی است ؟ تفاوت در این است که در صورتیکه شما از Database های خود Full Backup بگیرید Plan بکاپ گیری Differential و تغییراتی که در Database ها انجام شده است تغییر میکند اما در حالت Copy Only هیج تغییری در Backup Plan شما پیش نمیاید و صرفا یک کپی با تمام مشخصات از اطلاعات برداشت میشود، در اصطلاح فنی Copy Only Backup ها Log Chain یا زنجیرهLog های شما را که برای برنامهریزی Backup های دیگر استفاده میشود را تغییر نمیدهند. معمولا اینگونه backup ها بصورت دستی و برای موارد بررسی و تحلیلی استفاده می شود اما به هر حال بد نیست هر چند وقت یکبار بصورت دستی اینکار را انجام دهید.
- Mirror Backup
از این نوع روش Backup گیری بعنوان Database Mirroring نیز یاد میشود، در این روش همانطور که از نامش پیداست بمعنی بکاپگیری آینهای است، بدین صورت که از این نوع روش Backup گیری بیشتر برای بالابردن دسترسیپذیری یا Availability پایگاههای داده استفاده میشود، شما در این روش نیازمند حداقل دو سرور مجزا هستید که بتوانند Database های خود را با همدیگر Synchronize کنند. روش Backup گیری Mirroring بر اساس هر Database انجام میشود و در اصطلاح فنی به آن Per Database Basis گفته میشود ، توجه کنید که این روش صرفا با Full Recovery Model کار میکند. در این روش Backup گیری، بعد از راهاندازی سرویس اگر هر اطلاعاتی در Database ها ثبت شود بلافاصله با Database دیگر که بر روی سرور دیگری قرار دارد Replicate و یکپارچهسازی میشود.
طرح پشتیبان (Backup plan) فراگستر
با توجه به کاربرد و مشخصات هر یک از انواع روشهای تهیه نسخه پشتیبان در SQL Server، طرح موثر و بهینه برای تهیه نسخه پشتیبان میتواند تلفیقی از هریک از روشهای فوق الذکر باشد. از این طریق اهدافی چون کاهش مدت زمان تهیه نسخ پشتیبان، کاهش حجم نسخ پشتیبان در طول هفته و کاهش احتمال از دست رفتن اطلاعات در شرایط بروز حوادث محقق میگردد.
توصیههای فراگستر در انتخاب Plan مناسب
شرکت فراگستر در انتخاب Backup Plan سلیقه مشتریان و امکانات آنها را در نظر میگیرد. چرا که مشتری، خود صاحب دیتابیس است و میتواند در باب این موضوع اعمال سلیقه انجام دهد. اگر چه شرکت فراگستر پیشنهادات منطقی و اصولی کار را به مشتری بنا بر پارامترهای زیر انجام خواهد داد.
- حجم تغییرات داده در بانک اطلاعاتی
- ظرفیت بانک اطلاعات
- ارزش و اهمیت داده های بانک اطلاعاتی در چه سطحی است
- چه اندازه فضای نگهداری برای Backup ها موجود است.
- مدت زمان مورد نیاز برای Backup از دیتابیس
- آیا اگر سرورتان منفجر شود داشتن Backup تا چند لحظه قبل از انفجار برایتان اهمیت دارد.
در جدول زیر استراتژی پیشنهادی شرکت فراگستر جهت تهیه نسخ پشتیبان ارائه میگردد. لازم به ذکر است این پیشنهاد صرفاً بصورت یک نمونه و بدون در نظر گرفتن تعداد کاربران و شرایط خاص هر یک از مشتریان عنوان شده است و هر مشتری میبایست ضمن بررسی و تحلیل شرایط و توانمندیهای خود نسبت به تهیه و اجرای استراتژی مناسب اقدام نماید.
زمان backup گیری | نوع backup گیری |
هر هفته یک بار در روز جمعه در سرور | Full backup |
تمام روز های هفته بجز روز جمعه که Full Backup گرفته می شود. | Differential Backup |
هر ماه روی یک Type و یا هارد اکسترنال خارج از محیط سرور | Full backup |
___________________________
[۱] Extent: در فایلهای ویندوز یک بیت به نام Archive Bit وجود دارد که تغییر کردن یک فایل را به شما نشان میدهد ، همین مفهوم در SQL Server بهعنوان extent شناخته میشود