topic

تنظیمات پشتیبان گیری اتوماتیک از طریق نرم افزار  2008 sql server

 

  1. انواع نحوه پشتیبان گیری در SQL Server
  2. برنامه پیشنهادی جهت تهیه فایل پشتیبان
  3. نحوه  تهیه و تنظیم فایل پشتیبان از طریق نرم افزار SQL Server
    1. نحوه ورود به نرم افزار SQL Server
    2. نحوه ایجاد فایل پشتیبان Full BackUp
    3. نحوه ایجاد فایل پشتیبان Differential Back Up
    4. نحوه ایجاد فایل پشتیبان TransactionLog Back U
    5. نحوه ایجاد برنامه حذف خودکار فایل های پشتیبان قدیمی با نام CleanUp Maintenance Plan 

 

1) انواع نحوه پشتیبان گیری در SQL Server

برای تعریف برنامه زمان بندی جهت پشتیبان گیری از اطلاعات درSQL بهتر است تعریفی از انواع نسخ پشتیبان در SQL داشته باشید:

 

 

 

  

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

به صورت کلی در SQL Server ما می توانیم هشت روش مختلف Backup گیری داشته باشیم که سه روشی که ما پیشنهاد می دهیم به اشکال زیر می باشند:

1-1 ) SQL Server Full Backup 

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

 

1-2 ) SQL Server Differential Backup

یکی دیگر از روش های معمول Backup گیری از SQL Server به روش Differential معروف است. اگر کمی با مفاهیم Backup  در ویندوز آشنائی داشته باشید این نوع روش بسیار راحت می باشد. در این روش فقط از تغییراتی که در Database ها  از آخرین Backup گرفته شده، انجام شده است. Backup گرفته می شود؛ طبیعی است که اگر از Database ها  تاکنون Backup  گرفته نشده باشد در اولین باری که به صورت Differential بکاپ بگیرید تمامی اطلاعات Database ها، Backup گرفته می شوند. در فایل های ویندوز یک بیت به نام Archive Bit وجود دارد که تغییرکردن یک فایل را نشان می دهد. همین مفهوم در SQL Server به عنوان extent شناخته می شود. یک extent شامل هشت قسمت 8  کیلوبایتی می شود که مجموعه 64 کیلوبایت داده را تشکیل می دهد. هر بار که اطلاعاتی در SQL سرور وارد می شود و یا تغییری انجاد می شود یک Flag ایجاد می شود که به SQL سرور می گوید یک Differential Backup ایجاد شده است و باید اطلاعات موجود در extent ها در آن موجود باشد. زمانی که یک Full Backup می گیرید این Flag ها خاموش می شوند .

پس همانطور که عنوان شد، اگر یک Backup Full بگیرید و سپس یک Differential Backup بگیرید محتویات موجود در Differential Backup  فقط شامل اطلاعات تغییر کرده بعد از Full Backup می باشد که در واقع همان اطلاعات Extent ها هستند. توجه نمائید که برخلاف ساختار  Backup گیری ویندوز اگر چندین بار هم از اطلاعات موجود در SQL Server به صورت Differential  بکاپ بگیرید در نهایت همه تغییراتی که از ابتدای آخرین Full Backup بر روی Database انجام شده اند Backup  گرفته خواهند شد. زمانی که می خواهید Backup ای از SQL سرور خود را بازیابی کنید کافیست ضمن بازگردانی آخرین Full Backup  فقط اطلاعات موجود در آخرین Differential Backup را نیز بازیابی کنید تا اطلاعات شامل بازیابی شود. در این حالت سایر Differential Backup های موجود نادیده گرفته می شوند. توجه کنید که اگر Database  در مدل ریکاوری Simple یا Simple Recovery Model قرار دارد همچنان قابلیت استفاده از Full Backup و Differential Backup را دارید. اگر Database هایتان از مودل ریکاوری Full یا Logged -Bulk استفاده می کنند می توانید همچنان از Differential Backup  ها استفاده کنید. در این حالت باید توجه نمائید این که تعداد Transaction Log بکاپ هایی که می بایست بازگردانی شوند را نیز درست تعیین کنید. با توجه به این که در Differential Backup تمامی Extent هایی که تا آخرین لحظه Full Backup  از سیستم گرفته شده اند Backup گرفته می شوند، در زمان بازیابی اطلاعات، ابتدا باید Full Backup خود را بازیابی کنید و آخرین Differential Backup  را به همراه Transaction Log Backup ای که بعد از Differential Backup  آخر گرفته شده است بایستی بازیابی کنید. با این کار تعداد فایل هایی که باید بازیابی شوند را به حداقل می رسانید .

 

1-3) SQL Server Log Backup (Transaction Log Backup)

اگر Recovery Model پایگاه داده ها در حالت Full یاBulk Logge   قرار داشته باشد؛ می توانید از 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 ها همینطور اضافه خواهد شد و رشد خواهد کرد .

همانطور که مشاهده شد اطلاعات بالا بسیار گسترده بوده و دارای جزئیات زیادی می باشد، لذا پیشنهاد می گردد برای کسب اطلاعات بیشتر به منابعی همچون لینک زیر مراجعه نمایند.

https://msdn.microsoft.com/en-us/library/ms886488

 

 

 

 

 

*  منظور از دیتابیس اصلی تمام دیتابیس هایی می باشد که کاربران در فرم تنظیمات صفحه ورود به نرم افزار آن ها  می بینند. در صورتی که برای منظورهای مختلف دیتابیس های مختلفی وجود دارد که اطلاعات آن ها حائز اهمیت می باشد؛ برای هر دیتابیس تمامی مراحل فوق الذکر باید اجرا شود.

***منظور از دیتابیس سورس تماد دیتابیس هایی می باشد که با همنام با دیتابیس های اصلی و با پسوند " _srcs " در ادامه نام آن ها وجود دارد. در حالت معمول فابل های سورس با نام های SeyaghExtDbApp و Seyagh_Complete_Srcs شناخته می شوند .

توجه:  فایل پشتیبان بهتر است روی انبارداده Data Storage جدا از سرور اصلی و با قابلیت اطمینان دسترسی و امنیت بالا نگهداری شود. در صورت نیاز

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

 

3) نحوه تهیه و تنظیم فایل پشتیبان از طریق نرم افزار SQL Server

1-3) نحوه ورود به نرم افزار  Microsoft SQL Server

 برای شروع کار با نرم افزار باید نرم افزار SQL Server را در سرور اجرا نمائید برای این کار  پس از  باز کردن منوی Start و در قسمت All Programs برنامه یSQL Server Management Studio ، نرم افزار را اجرا نمائید.

 

 

در قسمت بعدی باید روی دکمه Connectکلیک نمائید تا وارد محیط نرم افزار شوید.

 

حالا پنجره ای همچون پنجره زیر مشاهده خواهید نمود.

برای مشاهده بانک های اطلاعاتی بر روی علامت + Databases  کلیک نموده تا آن ها را مشاهده نمائید.

 

2-3) نحوه ایجاد فایل پشتیبان  Full BackUp

 پس از ورود به نرم افزار روی شاخه ی management دابل کلیک نموده تا زیر شاخه ها قابل مشاهده باشند. سپس بر روی maintenance plan  راست کلیک نموده و گزینه ی  New Maintenance Plan Wizard را انتخاب نمائید.

 

سپس بر روی دکمه Next در پنجره ایکه مشاهده می کنید؛ کلیک نمائید.

در مرحله بعدی و در قسمت Name نام طرح مورد نظر را وارد نمائید و بر روی دکمه ی Change  کلیک نموده تا زمان بندی اجرای طرح را تنظیم نمائید.

 

تنظیمات لازم را برای زمان بندی را مطابق تصویر به صورت هفتگی و در روزهای شنبه و در ساعت 1 صبح تنظیم نمائید و سپس دکمه ی Ok را بزنید. در مورد ساعت اجرای طرح ها توجه شود که خارج از زمان کار کاربران بوده و با زمان اجرای طرح های تعریف شده تداخل زمانی نداشته باشد

بر روی Next کلیک نمائید

 

در این مرحله گزینه Back up Database (Full) را انتخاب نمائید و با کلیک بر روی next به مرحله بعدی بروید.

بر روی Next کلیک نمائید.

 

در این قسمت باید بانک های اطلاعاتی مورد نظر جهت تهیه نسخه پشتیبان انتخاب شوند. تنظیمات را با توجه به تصویر زیر انجام دهید. در قسمت Database(s) باید گزینه All User Databases انتخاب شود.

 

گزینه Create a backup file for every database را فعال نمائید. در این قسمت باید مسیر ذخیره سازی نسخه پشتیبان را معرفی نمائید. دقت نمائید اگر گزینه dictionary for each database -Sub فعال شود. به ازای هر نسخه پشتیبان مربوط به هر بانک اطلاعاتی پوشه ای جداگانه و به نام بانک اطلاعاتی مربوطه ایجاد می شود

بر روی Next کلیک نمائید و به مرحله ی بعدی بروید.

در مرحله آخر بر روی دکمه ی Finish کلیک نمائید تا Plan در SQL Server ایجاد شده و طبق زمان بندی آماده ی اجرا گردد.

 

بعد از ایجاد Plan در SQL Server پنجره ای همانند زیر مشاهده خواهید نمود که برای اتمام کار بر روی دکمه Close ) کلیک نمائید.

 

 

Plan  ایجاد شده را می توانید زیر شاخه Maintenance Plan مشاهده نمائید. در صورتی که مشاهده نشد بر روی شاخه   Maintenance Plan   راست کلیک نموده و hsRefre را انتخاب نمائید

 

3-3) نحوه ایجاد فایل پشتیبان  Differential Back Up

نحوه تنظیم این نوع پشتیبان گیری همانند روش Full Back up می باشد. بدین صورت که Daily را انتخاب نموده و ساعت پشتیبان گیری را روی ساعت 4 صبح روز شنبه تنظیم نمائید تا تداخلی با زمان پشتیبان گیری Full   که در ساعت 1 صبح شنبه تنظیم شده بود؛ نداشته باشد.

ضمناً به جای انتخاب گزینه ی Back Up DataBases (Full) گزینه   Back Up DataBases (Differential) را انتخاب نمائید.

بقیه ی مراحل همانند بند 2-3 می باشد.

 

 

4-3) نحوه ایجاد فایل پشتیبان TransactionLog Back Up

نحوه تنظیم این نوع پشتیبان گیری همانند روش Full Back up می باشد با این تفاوت که برای تنظیم زمان Every Occurs را انتخاب نموده و ساعت پشتیبان گیری را روی هر 1 ساعت یک بار تنظیم نمائید و زمان شروع آن را روی ساعت 7 صبح تا 12 شب تنظیم نمائید.

 

ضمناً به جای انتخاب گزینه  Back Up Data Base (Full)گزینه ی Back Up Data Base ((Transaction Log) را انتخاب نمائید.

 

در مرحله بعدی تنظیمات را همانند تصویر زیر تنظیم نمائید.

بقیه ی مراحل همانند بند 2-3 می باشد.

 

 

5-3) نحوه ایجاد برنامه حذف خودکار فایل های پشتیبان قدیمی با نام  CleanUp Maintenance Plan

نحوه تنظیم این نوع پشتیبان گیری همانند روش Full Back up می باشد؛ بدین صورت که ساعت برنامه حذف خودکار را روی 23، روز جمعه تنظیم نمائید تا با حذف فایل قبل از شروع پشتیبان گیری، حافظه مورد نیاز برای پشتیبان گیری فراهم گردد. مراحل  را به ترتیب تصاویر زیر که در بالا نیز به آن ها اشاره شده است دنبال نمائید.

 

 

در مرحله ی بعد نیز گزینه Maintenance Cleanup Task را انتخاب نمائید.

در این قسمت باید مسیر فایل های پشتیبانی که قبلاً در مسیر خاصی ذخیره شده است را تنظیم نمائید تا فایل آن ها را با توجه به این که در قسمت File age چند هفته یا روز را تنظیم نموده اید، فایل ها را پاک نماید.


 

توجه نمائید که برای هر نوع فایل پشتیبان در صورت تمایل می توانید برنامه ی Cleanup Task را ایجاد نموده تا فایل های قدیمی پشتیبان آن ها را حذف نمائید.