راه‌ های افزایش سرعت بکاپ و ریستور | بخش اول

راه‌ های افزایش سرعت بکاپ و ریستور | بخش اول

نوشته شده توسط: غلامحسین عبادی
تاریخ انتشار: ۲۱ فروردین ۱۴۰۱
آخرین بروزرسانی: 21 شهریور 1402
زمان مطالعه: 7 دقیقه
۳.۸
(۴)

مقدمه

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

Best Practice در این رابطه این است که به طور مثال جمعه شب یک بار فول بکاپ تهیه کنید و بقیه شب ها، هر شب Differential بکاپ تهیه کنید و بسته به سناریو شما مثلا هر چهار ساعت یکبار ، یک Log بکاپ تهیه نمایید. البته ممکن است که دیتابیس شما حجم کمی داشته باشد و شما بخواهید هر شب از دیتابیس خود فول بکاپ تهیه کنید.

یک DBA باید به خوبی با مباحث مربوط به انواع Backup و Restore آشنا باشد تا در مواقع بحران(Disaster) با سرعت وارد عمل شده و سیستم را به حالت نرمال برگرداند. این مشکل می تواند بر اثر خرابی هارد و یا قطعی شبکه و یا موارد دیگر رخ دهد.

دوره نگهداری از بانک های اطلاعاتی نیک آموز

در این میان دیتابیس های با حجم بالا معمولا دردسرساز بوده و برگرداندن آنها به وضعیت نرمال معمولا زمان بر است. حال اگر سیستم های شما حساس باشد و زمان برگشت به حالت نرمال بسیار مهم باشد(مانند سیستم های بانکی)، وضعیت کمی پیچیده تر خواهد شد.

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

 نکته اول:

استفاده از آپشن Compression:

این خصوصیت از نسخه SQL Server 2008 به امکات SQL Server اضافه گردید. شاید باور این موضوع برای شما خوانده گرامی سخت باشد، ولی باور بفرمایید که هنوز خیلی از کاربران اسکیوال سرور از وجود این خصوصیت بی اطلاعات هستند و از دیتابیس های خود به صورت معمولی و بدون اینکه عملیات فشرده سازی را اعمال نمایید، اقدام به تهیه بکاپ از دیتابیس های خود می نمایند و فضای زیادی از دیسک در سرورها را هدر می دهند.

روش های مختلف استفاده از Compression جهت فشرده سازی بکاپ:

۱ – شما می توانید این آپشن را در کوئری خود استفاده نمایید:

همان طور که در کد زیر می بینید بعد از کلمه With از دستور Compression استفاده شده است. این آپشن نسخه پشتیبان شما را در بعضی از موارد تا یک چهارم کاهش می دهد.

Backup Database AdventureWorks2019 
To Disk='E:\Backup\AdventureWorks2019_Full_14010117.bak'
With Compression

تذکر: کاهش حجم در مورد داده های LOB (Large object) قابل محسوس و چشم گیر نیست و کاهش حجم در این نوع داده های بسیار کم است.

مزایای استفاده از آپشن Compression جهت کاهش حجم نسخه پشتیبان:

۱ – افزایش سرعت تهیه بکاپ و ریستور

۲ – کاهش حجم فایل بکاپ

۳ – کاهش Locking و Blocking : لازم به ذکر است وقتی زمان گرفتن بکاپ شما به طول می انجامد، بخصوص در دیتابیس های با حجم بالا (مثلا دیتابیس های با حجم ترابایت)، احتمال تداخل کوئری مربوط به تهیه بکاپ با سایر درخواست ها بسیار زیاد می باشد و احتمال Locking و Blocking و در نهایت احتمال وقوع Deadlock بسیار بالا می باشد.

۴ – کاهش ترافیک شبکه

معایب استفاده از آپشن Compression جهت کاهش حجم نسخه پشتیبان :

۱ – افزایش CPU Usage

۲ – کندی سایر کوئری ها

تذکر  حتما به این موضوع دقت کنید که بکاپ را در خارج از وقت اداری تهیه کنید تا موجب کندی سایر کوئری ها نشوید.

تذکر : جاب های مربوط به تهیه بکاپ خود را در کل هفته پخش کنید. منظور این است که به عنوان مثال تمام جاب های مربوط به گرفتن Full Backupها را به جمعه شب ها تنظیم نکنید بعضی از آنها را مثلا شنبه شب تنظیم کنید و بعضی ها را یکشنبه شب و الی آخر.

۲ – شما می توانید هنگام تهیه بکاپ به صورت ویزادی استفاده نمایید:

تهیه بکاپ به صورت گرافیکی و یا Wizard ای : در این روش مطابق شکل زیر کافیست بر روی دیتابیس خود راست کلیک نموده و بر روی گزینه Tasks و سپس بر روی گزینه Backup کلیک کنید.

در این صورت پنجره ایی مطابق شکل زیر نمایان می گردد. در این قسمت ابتدا نوع بکاپ خود را تعیین می کنیم (لازم به ذکر است که ما سه نوع بکاپ به نام های Full Backup و Differential Backup و Log Backup می توانیم تهیه نماییم) که به طور پیش فرض بر روی Full تنظیم شده است. سپس  محل ذخیره بکاپ خود را تنظیم می نماییم.

سپس به قسمت Backup Options رفته و در قسمت Set backup compression گزینه Compress backup را انتخاب نموده و بر روی دکمه OK کلیک می نماییم.

تذکر: تا آنجایی که می توانید از Wizard برای انجام کارهای خود استفاده نکنید، بلکه Script هر کاری را ایجاد کرده (معمولا بالای هر صفحه ای یک دکمه ایجاد Script وجود دارد) و سپس آن اسکریپت را اجرا کنید. چون در این صورت رد یابی خطا بهتر و راحتتر خواهد بود.

تذکر مهم : بهتر است در سطح Instance تنظیمات مربوط به آپشن گرفتن بکاپ فشرده را انجام دهید.چرا که اگر بنا به هر دلیلی استفاده از این آپشن از یاد شما رفت ، ولی باز هم نسخه پشتیبان شما به صورت فشرده گرفته شود.

برای این کار کافیست بر روی Instance کلیک راست نموده و بر روی گزینه Properties کلیک کنید. در این صورت پنجره ایی مطابق شکل زیر نمایان می گردد.

حال در این پنجره کافیست مطابق شکل زیر بر روی Database Settings کلیک کرده و سپس تیک مربوط به Compress Backup را علامت بزنید و در نهایت بر روی دکمه OK کلیک کنید.

لازم به ذکر است که اولا حتما بعد از این  تنظیم باید ، Instance اسکیوال سرور ریست شود(هر تنظیمی که در سطح Instance صورت بگیرد، شما باید در یک زمان مناسب سرویس اسکیوال سرور را ریستارت کنید(آن هم با احتیاط به طور مثال در مانیتورینگ اسکیوال سرور نگاه کنید که کوئری مهمی در حال اجرا نباشد)). این موضوع در جاهایی همچون حوزه بانکی به این راحتی نبوده و باید Down Time تقاضا داده و با کلی مشکلات مواجه خواهید بود.

در ضمن دقت کنید با اعمال این تنظیم از این به بعد از هر دیتابیسی به صورت عادی بکاپ تهیه کنید ، آن بکاپ به صورت فشرده ایجاد خواهد شد(بدون اینکه شما از آپشن With Compression استفاده کرده باشید).

همچنین شما به جای تنظیم فوق در سطح Instance ، می توانید تنظیمات پیشرفته اسکیوال سرور را با SP_Configuration نیز انجام دهید. کافیست از دستور زیر برای اعمال این تنظیم درسطح Instance استفاده نمایید.

SP_Configure 'backup compression default',1
Reconfigure with Override

خط دوم برای این است که دیگر مجبور به ریستارت سرویس اسکیوال سرور نشویم.

بقیه مطالب در مقالات بعدی ارائه خواهد شد.

چه رتبه ای می‌دهید؟

میانگین ۳.۸ / ۵. از مجموع ۴

اولین نفر باش

title sign
دانلود مقاله
راه‌ های افزایش سرعت بکاپ و ریستور | بخش اول
فرمت PDF
6 صفحه
حجم 1 مگابایت
دانلود مقاله
گوش به زنگ یلدا
title sign
معرفی نویسنده
غلامحسین عبادی
مقالات
13 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
غلامحسین عبادی

غلامحسین عبادی هستم، سوابق حرفه‌ای من به شرح ذیل است: ۱- ۸ سال سابقه کار به عنوان برنامه نویس در شرکت خودرو سازی سایپا، ۲- ۱۱ سال سابقه کاری در شرکت ایران خودرو به عنوان رئیس برنامه‌های کاربردی و ۴ سال آخر مسئول دیتابیس، ۳- ۴ سال سابقه DBA در شرکت داده ورزی سداد، ۴- دارای مدرک MCSD مایکروسافت از کشور امارات، ۵- دارای مقالات متعدد در ماهنامه تجارات الکترونیک ۶- بیش از یک سال سابقه DBA در شرکت خدمات رایانه‌ای امید، ۷- مدرسی SQL Server در برخی سازمان‌های دولتی ۸- ۱۶ سال سابقه تدریس در دانشگاه‌ها و سازمان‌های مختلف ۹- مولف کتاب‌های متعدد در حوزه برنامه نویسی و SQL Server

title sign
دیدگاه کاربران

هر روز یک ایمیل، هر روز یک درس
آموزش SQL Server بصورت رایگان
همین حالا فرم زیر را تکمیل کنید
دانلود رایگان جلسه اول
نیک آموز علاوه بر آموزش، پروژه‌های بزرگ در حوزه هوش تجاری و دیتا انجام می‌دهد.
close-link