۱۳۹۸ جمعه ۹ اسفند

 

 

 

روش های پشتیبان گیری

 

 

قبل از اینکه به سراغ بحث اصلی در مورد Backup ها بپردازیم یک موضوع است که باید بصورت کاملا شفاف و واضح در ذهن داشته باشید ، وجود یک Backup  کامل و آزمایش شده و یک طرح بازگردانی درست برای Database های SQL Server در مجموعه ای که در آن قرار دارید اگر مهمترین موضوع نباشد یکی از مهمترین کارهای شما به عنوان یک DBA می باشد.

البته قابل ذکر است  که SQL Server گزینه های بسیاری برای ایجاد بک آپ ارائه می دهد. در این بخش چند مورد کاربردی  از انواع بک آپ ها را معرفی خواهیم نمود.

  • Full Backup

معمولترین روش Backup گیری از SQL Server  روش Full یا Complete  میباشد. به این روش Database Backup  هم گفته میشود. در این نوعBackup  گیری از کلیهDatabase  های موجود برروی Instance   شما بهمراه هم  Transaction Log های موجود در آن Backup   گرفته میشود و با این روش شما براحتی میتوانید اطلاعات خود را Recover   یا بازیابی کنید. این روش ساده‌ترین روش بازیابی اطلاعات میباشد زیرا تمامی اطلاعات بیکباره بازیابی میشوند.

       این نوع نسخه پشتیبان به عنوان پایه و اساس دو نوع دیگر عمل می نماید و در زمان بازیابی احتمالی اطلاعات نیز این نسخه باید ابتدا بازیابی شود.

  • Differential Backup

یکی دیگر ازروشهای معمولBackup گیری، روش معروف   Differential است .در این روش فقط از تغییراتی که در  Databaseهای شما از آخرین  Full Backupگرفته شده ، Backup  گرفته میشود. طبیعی است که اگر از    Database های شما تاکنون  Backup گرفته نشده باشد در اولین باری که بصورت Differential   بکاپ بگیرید تمامی اطلاعات Database ها   Backup گرفته می شوند

 

پس همانطور که عنوان کردیم اگر شما یک  Full Backup بگیرید و سپس یک   Differential Backup بگیرید محتویات موجود در   Differential Backup شما فقط شامل اطلاعات تغییر کرده بعد از Full Backup  میباشد که به دلیل محدود بودن حجم اطلاعات بسیار سریع می باشد. زمانیکه میخواهیدBackup ی از  SQL سرور خود را بازیابی کنید کافیست ضمن بازگردانی آخرین   Full Backupفقط اطلاعات موجود در آخرین Differential   Backup   را نیز بازیابی کنید تا اطلاعات کامل بازیابی شود. در این حالت سایر Differential Backup  های موجود نادیده گرفته می شوند.

 

  • Transaction 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  ها همینطور اضافه خواهد شد و رشد خواهد کرد.

 

شایان ذکر است که هریک از این انواع Backup  دارای جزئیات گسترده ای است که در این متن به تمامی جوانب  آن پرداخته نشده و از علاقه مندان دعوت می شود تا به منابع مربوطه مراجعه نمایند.