در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

Backup گیری از SQL سرور قسمت 2 : انواع Recovery Model

در مقاله قبلی در خصوص روش های مختلف Backup گیری در SQL سرور صحبت کردیم ، اگر دقت کرده باشید متوجه می شوید که در هر قسمت از انواع Backup اشاره ای به این نکته داشتیم که فلان نوع Backup فقط در فلان Recovery Model قابل استفاده است و برعکس ، اما در مورد Recovery Model و وافعیت آن صحبتی نکردیم. در این مقاله قصد داریم انواع Recovery Model های موجود در SQL سرور را با هم بررسی کنیم.

انواع مدل های ریکاوری در SQL Server یا SQL Server Recovery Models

در ابتدای کار باید بدانیم اصلا Recovery Model چیست ؟ ترجمه این کلمات به شکل مدل بازیابی می باشد و دقیقا کاری است که باید انجام دهد. در SQL Server ما سه نوع Recovery Model مختلف داریم که روش مدیریت Log File ها و آماده سازی آنها برای بروز حوادث احتمالی را مشخص می کنند. بنابراین وجود یک Recovery Model مناسب ( و البته استفاده درست از آن ) باعث آسودگی خاطر شما در زمان بروز مشکل برای Database ها خواهد بود.

هر یک از این Recovery Model ها که در ادامه در خصوص آنها صحبت خواهیم کرد برای اینکه یک تعادل درست بین استفاده بهینه از فضای هارد دیسک و همچنین ارائه امکانات مختلف در مواقع بروز حادثه ارائه کنند روش های مختلفی را استفاده می کنند. در واقع بیشتر تفاوت در نتیجه کار هر یک از این Recovery Model ها در اندازه Transaction Log هایی است که ایجاد می کنند. توجه کنید که ممکن است Recovery Model ها را به عنوان Disaster Recovery Model هم نام ببرند که کاملا درست می باشد، بصورت کلی در SQL سرور سه نوع Recovery Model به شرح زیر وجود دارد :

  • مدل بازیابی ساده یا Simple Recovery Model
  • مدل بازیابی کامل یا Full Recovery Model
  • مدل بازیابی Bulk-logged Recovery Model

Recovery Model های SQL سرور و Simple Recovery Model Full Recovery Model

مدل بازیابی ساده یا Simple Recovery Model در SQL سرور

همانطور که از نام این روش بازیابی مشخص است ، ساده است . هدف اصلی این روش بازیابی این است که SQL Server حداقل اندازه اطلاعات را در Transaction Log های خود داشته باشد. SQL Server در این حالت هرگاه که Database ها به یک Transaction Checkpoint برسند اطلاعات موجود در Transaction Log ها را حذف می کند که در اصطلاح به اینکار Truncate کردن می گوییم ، با اینکار هیچ Log ای برای عملیات و اهداف Disaster Recovery وجود نخواهد داشت.

در Database هایی که از حالت ریکاوری Simple Model استفاده می کنند شما فقط می توانید Backup های Full و Differential را بازیابی کنید. در حالت Simple Recovery Model شما قابلیت بازیابی اطلاعات به یک نقطه زمانی خاص را ندارید و فقط می توانید اطلاعات را بصورت کامل با استفاده از Full یا Differential Backup به زمانی برگردانید که این Backup ها گرفته شده اند. بنابراین شما در چنین روش ریکاوری ای اطلاعاتی که بعد از گرفته شدن آخرین Full یا Differential Backup گرفته شده است را بعد از بروز حادثه ، نمی توانید بازیابی کنید و این اطلاعات از بین می رود.

همانطور که اشاره کردیم با خالی شدن Transaction Log از اطلاعات در این حالت Recovery طبیعی است که فضای بیشتری در هارد دیسک شما برای انجام فرآیند های دیگر باز خواهد شد. اگر شما در طرح بازیابی از حادثه خود گزینه ای برای بازیابی اطلاعات یه یک زمان خاص و تاریخ خاص ندارید می توانید از این روش استفاده کنید ، با توجه به اینکه Transaction Log های شما در این روش معمولا خالی می شوند مدیریت ساده تری بر روی آنها نیاز است و از این بابت برای Admin های تنبل مناسب است. ( البته Admin ها همه خوبن فقط من بدم D: )

مدل بازیابی کامل یا Full Recovery Model در SQL سرور

همانند روش قبلی در این مدل ریکاوری اسم مدل بیانگر شیوه کاری آن است. با استفاده از این مدل SQL Server تا زمانیکه از Transaction Log ها Backup گرفته نشود آنها را خالی نمی کند. در این حالت شما به عنوان مدیر Database های وب سایتی مثل انجمن تخصصی فناوری اطلاعات ایران ( یعنی اگر کپی می کنی اشکال نداره اما حق تالیف رو رعایت کن دوست من ) قادر خواهید بود برنامه بازیابی از حادثه خود را بر اساس یک برنامه ترکیبی از Full و Differential Backup ها به همراه Transaction Log ها طراحی کنید .

در صورتیکه خدای نکرده زبانم لال Database های شما دچار مشکل شدند ، شما با استفاده از Full Recovery Model بیشترین انعطاف پذیری را برای بازیابی اطلاعات و Database های خود خواهید داشت. علاوه بر اینکه در این حالت تمامی تغییراتی که در Transaction Log ها ایجاد شده است حفظ می شود شما قادر خواهید بود در هنگام بازیابی اطلاعات ، آنها را به زمان و تاریخ دلخواهی که تعیین کرده اید بازیابی کنید. برای مثال اگر مشکلی در ساعت 5 و 36 دقیقه برای Database های شما پیش آمده باشد ، شما با استفاده از این روش می توانید اطلاعات را به زمان 5 و 35 دقیقه یعنی درست زمان قبل از حادثه بازیابی کنید و حداقل از دست رفتن اطلاعات را داشته باشید.

در این حالت Transaction Log ها زمانی حذف خواهند شد که یا از آنها Full یا Differential و یا Transaction Log Backup گرفته باشید. استفاده از این نوع روش ریکاوری برای استفاده از سایر امکانات SQL سرور مانند Log Shipping ، Database Mirroring و Transaction Log Backup ها الزامی است ، زیرا به ما امکان استفاده از قابلیت نقطه زمانی بازیابی یا Point In Time Recovery ( می دونم نباید ترجمه می شد اما بالاخره محض دور هم بودن ترجمش کردیم ) می دهد. در مواقعی که شما نمی توانید تحمل Data Loss زیادی را در مجموعه داشته باشید Point In Time Recovery یک عصای دست درست و حسابی است. وهله های زمانی که شما از Transaction Log های خود Backup می گیرید تعیین کنند میزان اطلاعاتی است که شما در مواقع بروز حادثه می توانید بازیابی کنید.

مدل بازیابی Bulk-logged Recovery Model در SQL سرور

این نوع مدل ریکاوری برای اهداف خاصی در نظر گرفته شده است و بیشتر شبیه به مدل ریکاوری Full Recovery Model کار می کند. تنها تفاوت و در واقع اصلیترین تفاوت بین این مدل و مدل Full در روشی است که این مدل برای مدیریت عملیات های گسترده تغییرات در اطلاعات انجام می دهد. Bulk-logged Recovery در چنین مواقعی برای ثبت اطلاعات و عملیات ها در Transaction Log ها از روشی به نام Minimal Logging استفاده می کنید.

با استفاده از این روش سرعت پردازشی بسیار بالا می رود و زمان پردازش ها طبیعتا کاهش پیدا می کند اما شما دیگر قادر به استفاده از قابلیت Point In Time Restore نخواهید بود. در این مدل حجم فایل Transaction Log نسبت به Full Recovery Model بسیار کمتر خواهد شد. مایکروسافت پیشنهاد می کند که از Bulk-logged Recovery Model بصورت مقطعی و مورد استفاده کنید و آن را به عنوان یک راهکار دائمی در نظر نداشته باشید. اگر نیاز سازمان شما به گونه ای بود که نیاز داشتید از Full Logging به Minimal Logging سویچ کنید ، دقت کنید زمانی اینکار را انجام دهید که کاربران شما در حال بروزرسانی یا ثبت اطلاعات جدید در Database ها نباشند ، زیرا ممکن است مقداری از اطلاعات در این فرآیند تبدیل از بین برود. ITPRO باشید.

نویسنده : محمد نصیری

منبع : جزیره بانک های اطلاعاتی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#Backup__گیری_از_SQL_Server #بکاپ_گیری_از_sql_سرور #مدل_های_ریکاوری_در_sql
عنوان
1 Backup گیری از SQL سرور قسمت 1 : انواع Backup رایگان
2 Backup گیری از SQL سرور قسمت 2 : انواع Recovery Model رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....