تا %60 تخفیف خرید برای 8 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

آموزش Backup گیری خودکار از Database های SQL سرور

قانون محمد نصیری را به یاد دارید ؟ اگر مقاله های قبلی من در خصوص Backup گیری از اکتیودایرکتوری را به خاطر داشته باشید یک قانون همیشگی در خصوص ادامه حیات شما در حوزه IT وجود دارد و آن قانون Backup است و Backup است و Backup . البته این جمله از خودم نیست و در واقع یک قانون در حوزه امنیت اطلاعات هست.امروزه تقریبا بیش از 90 درصد Database هایی که برای نرم افزارهای اتوماسیون ، مالی ، انبارداری و حتی سرورهای سازمانی مثل SharePoint یا Lync استفاده می شود چیزی به غیر از MSSQL Server نیست .

باید بدانید که بدون شک در مراحل زمانی مشخص و مرتب از Database های موجود در این سرور Backup بگیرید ، در زمان های قدیم ( یعنی زمانی که بنده اصلا کاری به کار SQL سرور نداشتم D: ) انجام عملیات Backup گیری از SQL سرور چندان آسان نبود و مستلزم اجرای یک سری دستورات و Query ها در SQL سرور بود. اما شخصی که تا کنون کاری به SQL سرور نداشته و به عنوان مدیر یک شبکه مسئولیت نگهداری از داده ها را دارد کار ساده ای با این نرم افزار نداشت .

در SQL سرور 2008 نسخه R2 که امروز می خواهیم در خصوص آن توضیح دهیم ، شرکت مایکروسافت یک روش بسیار بسیار ساده برای گرفتن Backup آن هم بصورت زمانبندی شده در اختیار مدیرهای شبکه قرار داده است که براحتی و تنها با چند کلیک می توانید از همه اطلاعات موجود در Database های خود backup بگیرید. در این مقاله شما بصورت گام به گام از کلیه اطلاعات موجود در Instance ای به نام ITPRO در MSSQL Server بصورت زمانبندی شده Backup میگیرید و این Backup ها را نیز بعد از مدتی باز هم بصورت مدت دار از دستگاه ذخیره سازی اطلاعات حذف می کنید تا فضای اضافه ای اشغال نکنند.

چگونه بصورت خودکار از Database های SQL بکاپ بگیریم ؟

خوب قبل از اینکه یک راست به سراغ فرآیند Backup گیری برویم باید مطمئن شوید که سرویس SQL Server Agent در حالت running قرار دارد در غیر اینصورت نمی توانید از این روش برای Backup گیری استفاده کنید. برای بررسی این مورد هم می توانید وارد کنسول Services.msc شوید و هم می توانید از طریق کنسول SQL Management Studio بعد از connect شدن به Instance موجود در SQL در قسمت Object Explorer بررسی کنید که آیا سرویس فعال و در حال اجرا است یا خیر ، اگر نبود براحتی بر روی سرویس مورد نظر راست کلیک کرده و مشابه تصویر پایین بر روی Start کلیک می کنیم.

بررسی فعال بودن سرویس SQL Server Agent

از Object Explorer قسمت Management Node را باز کنید و گزینه Maintenance Plan را انتخاب کنید.توجه کنید که برای اینکه بتوانید یک برنامه Backup زمانبندی شده توسط Maintenance Plan ها داشته باشید باید دسترسی یا بهتر بگوییم role ای به نام SYSADMIN را داشته باشید ، البته من فرض را بر این میگیرم که شما دسترسی کامل را دارید زیرا هیچ مدیر سیستمی در ایران توانایی تحمل محدودیت را ندارد و در همه جا Admin می باشد ( باور کنید ، مدیر شبکه خود را مالک همه سیستم ها می داند چه به او ربطی داشته باشد و چه ربطی نداشته باشد ) به هر حال اگر نمی توانید Maintenance را مشابه آنچه در تصویر زیر مشاهده می کنید ببینید بررسی کنید که Permission های لازم را به این Instance داشته باشید.

تصویر دوم : وارد شدن به محیط Maintenance Plan در SQL Server Management Studio برای گرفتن backup از SQL

مشابه آنچه در تصویر پایین می بینید بر روی Maintenance Plan راست کلیک کرده و گزینه new maintenance plan را انتخاب کنید.

تصویر سوم : ایجاد یک maintenance plan برای Backup گیری از SQL سرور

در کادری که در پایین مشاهده می کنید یک اسم برای این maintenance plan ایجاد کنید ، اسم را متناسب با فرآیندی که قرار است در اینجا انجام شود تعیین کنید برای مثال بنده اسم را ITPRO Database Daily Backup گذاشته ام ، شما می توانید بر اساس نیاز خود هر اسمی که دوست دارید را انتخاب کنید فقط لطفا یک اسم با معنی ایجاد کنید نه هر چیزی که فقط کاراکتر باشد ( مورد داشتیم اسم Maintenance Mode به شکل Nazijoon وارد شده است ، به خداااا ( . اسم را ایجاد و بر روی OK کلیک کنید.

تصویر چهارم : ایجاد کردن یک اسم برای Maintenance Plans برای Backup گیری خودکار از SQL  سرور

خوب شما الان در صفحه تنظیمات مربوط به Maintenance Plan هستید. به نقاطی که با علامت ویلبیلک ( VillBilak ) مشخص شده اند توجه کنید ، این دو قسمت مواردی هستند که شما باید تنظیمات Backup خود را انجام دهید. قسمتی که در گوشه بالای سمت راست در تصویر زیر مشخص شده است برای زمانبندی انجام عملیات خود استفاده می کنید ، اینکه در چه زمانی و چه روزهایی عملیات های Maintenance Plan انجام شوند. توجه کنید که زمانی برای انجام خود تعیین کنید که می دانید Database شما در حال استفاده نمی باشد ، هیچوقت در اوج ساعت کاری Database ها از آنها بصورت زمانبندی شده Backup نگیرید. اما قسمتی که در پایین و سمت چپ تصویر مشخص شده است اصل ماجرا یا همان Backup Maintenance Plan شما را ایجاد می کند. با توجه به اینکه می توان فقط برای همین یک قسمت چند مقاله نوشت ما بصورت جزئی تر وارد ماجرا نمی شویم و فقط به بررسی دو مورد از آنها که در آموزش ما استفاده می شود کفایت می کنیم.

تصویر پنجم : تعریف زمانبندی و استفاده از Maintenance Plan  های SQL برای Backup گیری MSSQL

بر روی آیکن تقویم یا همان Calendar که در تصویر بالا مشخص شده است دابل کلیک کنید. با اینکار یک کادر باز می شود که شما می توانید زمان های اجرای عملیات و همچنین وهله های زمانی کار را برای سیستم تعریف کنید. همیشه بر اساس نیاز و اهمیت کار سازمان تعاریف زمانبندی خود را انجام دهید. معمولا Backup ها سازمانی بصورت روزانه گرفته می شوند. باز هم تاکید می کنم زمانی را انتخاب کنید که می دانید Database شما Load کاری زیادی ندارد ، بنده معمولا شب ها یا ساعات اولیه بامداد را برای گرفتن backup انتخاب می کنم. زمانیکه کار خود را تمام کردید بر روی دکمه OK کلیک کنید.

تصویر ششم : تعیین تقویم زمانبندی برای گرفتن backup از SQL  سرور

از قسمت Maintenance Plans که در تصاویر بالا در گوشه سمت چپ پایین مشخص شده است گزینه backup database plan را انتخاب کنید و بوسیله Drag and Drop آنرا در کادر خالی روبرو بیندازید. این همان مجموعه دستوراتی است که عملیات Backup گیری را برای شما انجام می دهد. تصویر زیر دقیقا همان چیزی است که باید مشاهده کنید.

تصویر هفتم : انتخاب کردن Backup Maintenance Plan در SQL  سرور 2008

حالا بر روی backup database task ای که در کادر روبرو ایجاد شده است دابل کلیک کنید. با اینکار یک صفحه جدید باز می شود که شما می توانید تنظیمات مربوط به Database هایی که می خواهید Backup بگیرید را مشخص می کنید. در اینجاست که شما تعیین می کنید از چه Database هایی می خواهید Backup بگیرید ، در اینجاست که شما تعیین می کنید در کجای سیستم و در چه مسیری فایل های Backup قرار بگیرد و تمامی موارد مرتبط با backup گیری از دیتابیس ها در اینجا تعیین می شود. از قسمت بالایی این صفحه از منوی بازشوی Databases شما می توانید دقیقا Database مورد نظر خودتان را برای Backup گیری تعیین کنید ، همچنین در همین صفحه همانطور که در صفحه پایین مشاهده می کنید می توانید پسوند فایل های ذخیره شده و مسیر ذخیره را نیز تعیین کنید ، ترجیجا با توجه با ساختارهای شلخته ایرانی ( تعارف نداریم باور کنید ) Backup خود را بصورت All Databases تعریف کنید.

تصویر نهم : آموزش گرفتن Backup از SQL سرور

تصویر دهم : آموزش بکاپ گیری از SQL سرور

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

با توجه به اینکه Backup های شما بصورت متناوب و روزانه گرفته می شوند بعد از مدتی حجم اطلاعاتی که backup گرفته می شوند زیاد می شود بنابراین بهتر است برای این سیستم Backup تعریف کنید که بعد از یک وهله زمانی معین Backup های قبلی را از بین ببرد و حذف کند.. برای اینکه بتوانید اینکار را انجام دهید شما باید یک cleanup task از همان قسمتی که Maintenance Cleanup Taskرا انتخاب کردید را به شکل قبل در کادر روبرویی Drag and Drop کنید. با استفاده از روش زیر شما می توانید تنظیمات Maintenance Cleanup Task را نیز انجام دهید.

تصویر یازدهم : انتخاب cleanup task برای حذف Backup های MSSQL Server

بر روی شیئ Maintenance Cleanup Task ای که در کادر روبرو انداخته اید دابل کلیک کنید تا تنظیمات آن را مشاهده کنید. شما باید مسیر Backup ای که گرفته شده است به همراه پسوند فایل ها و همچنین مدت زمانی که می خواهید Backup ها معتبر باشند را تعیین کنید. معمولا برای این قسمت مدت زمان یک ماه در نظر گرفته می شوند همانطور که در تصویر زیر نیز مشاهده می کنید.

تصویر دوازدهم : تکمیل فرآیند Backup گیری از Database های SQL سرور

زمانیکه بر روی تصویر بالا OK را کلیک کنید. می توانید مطمئن باشید که Backup های شما هر ماه یکبار گذشته را فراموش می کنند و به فکر آینده می افتند. امیدوارم هیچوقت در زندگی نیازی به بازگردانی Backup نداشته باشید اما به هر حال همیشه اصل Backup Backup Backup را فراموش نکنید ، امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید.

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

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

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

نظر شما
برای ارسال نظر باید وارد شوید.
41 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند