تنظيمات پشتيبان گيري از طريق sql server
1. انواع نحوه پشتيبان گيري در SQL Server
2. برنامه پيشنهادي جهت تهيه فايل پشتيبان
3. نحوه تهيه و تنظيم فايل پشتيبان از طريق نرم افزار SQL Server
3-1 نحوه ورود به نرم افزار SQL Server
3-2 نحوه ايجاد فايل پشتيبان Full BackUp
3-3نحوه ايجاد فايل پشتيبان Differential Back Up
3-4نحوه ايجاد فايل پشتيبان TransactionLog Back Up
3-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 ها همينطور اضافه خواهد شد و رشد خواهد كرد .
همانطور كه مشاهده شد اطلاعات بالا بسيار گسترده بوده و داراي جزئيات زيادي مي باشد، لذا پيشنهاد مي گردد براي كسب اطلاعات بيشتر به منابعي همچون لينك زير مراجعه نمايند.
http://msdn.microsoft.com/en-us/library/ms886488
Database |
Schedule |
Backup Type |
Reliability |
Day |
Backup Time |
ديتابيس اصلي * |
Weekly |
Full Backup |
VerifyBackup |
Weekend |
1:00 AM |
ديتابيس اصلي * |
Daily |
Differential Backup |
VerifyBackup |
Daily |
04:11 AM |
ديتابيس اصلي * |
Daily |
Transaction log Backup |
VerifyBackup |
Daily |
Every 2 hours |
ديتابيس اصلي *** |
Weekly |
FullBackup |
VerifyBackup |
Weekend |
09:00 PM |
ديتابيس اصلي * |
Weekly |
Clean up (Full Backup) |
– |
Weekend |
11:00PM |
ديتابيس اصلي* |
Daily |
Clean up Differential Backup) |
– |
Daily |
02:00AM |
* منظور از ديتابيس اصلي تمام ديتابيس هايي مي باشد كه كاربران در فرم تنظيمات صفحه ورود به نرم افزار آن ها مي بينند. در صورتي كه براي منظورهاي مختلف ديتابيس هاي مختلفي وجود دارد كه اطلاعات آن ها حائز اهميت مي باشد؛ براي هر ديتابيس تمامي مراحل فوق الذكر بايد اجرا شود. ***منظور از ديتابيس سورس تماد ديتابيس هايي مي باشد كه با همنام با ديتابيس هاي اصلي و با پسوند ” _srcs ” در ادامه نام آن ها وجود دارد. در حالت معمول فابل هاي سورس با نام هاي ArghamExtDbApp و Argham_Complete_Srcs شناخته مي شوند . توجه: فايل پشتيبان بهتر است روي انبارداده Data Storage جدا از سرور اصلي و با قابليت اطمينان دسترسي و امنيت بالا نگهداري شود. در صورت نياز و تشخيص مدير فناوري اطلاعات ممكن است راه حل هاي تركيبي يا انبارك هاي موازي نيز اجرا گردد. |
3) نحوه تهيه و تنظيم فايل پشتيبان از طريق نرم افزار SQL Server
1-3) نحوه ورود به نرم افزار Microsoft SQL Server
براي شروع كار با نرم افزار بايد نرم افزار SQL Server را در سرور اجرا نمائيد براي اين كار پس از باز كردن منوي Start و در قسمت All Programs برنامه يSQL Server Management Studio ، نرم افزار را اجرا نمائيد.
در قسمت بعدي بايد روي دكمه Connecكليك نمائيد تا وارد محيط نرم افزار شويد.
حالا پنجره اي همچون پنجره زير مشاهده خواهيد نمود.
براي مشاهده بانك هاي اطلاعاتي بر روي علامت + 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 را انتخاب نمائيد