"

نحوه Rebuild خودکار ایندکس ها از طریق Maintenance Plan,مزایای Rebuild Index  در SQL Server,مزایای استفاده از Maintenance Plan در SQL Server

نحوه Rebuild خودکار ایندکس ها از طریق Maintenance Plan

نحوه Rebuild بازسازی خودکار ایندکس‌ها در SQL Server با Maintenance Plan برای کاهش Fragmentation و بهبود عملکرد.

تیم تحریریه
4
0
21 تیر 1405
لینک کوتاه

نحوه Rebuild خودکار ایندکس‌ها از طریق Maintenance Plan در SQL Server

با افزایش حجم داده‌ها و انجام مداوم عملیات درج، حذف و ویرایش اطلاعات در جداول SQL Server، ساختار ایندکس‌ها به مرور زمان دچار Fragmentation یا تکه‌تکه شدن می‌شود.
این مسئله می‌تواند باعث کاهش سرعت اجرای کوئری‌ها، افزایش مصرف منابع سرور و افت عملکرد کلی پایگاه داده شود.
به همین دلیل نگهداری و بهینه‌سازی ایندکس‌ها یکی از مهم‌ترین وظایف مدیران پایگاه داده محسوب می‌شود.

SQL Server ابزارهای مختلفی برای مدیریت ایندکس‌ها در اختیار مدیران قرار می‌دهد. یکی از ساده‌ترین و کاربردی‌ترین روش‌ها برای انجام خودکار عملیات بازسازی ایندکس‌ها، استفاده از Maintenance Plan است.
این قابلیت امکان زمان‌بندی و اجرای خودکار عملیات نگهداری پایگاه داده را بدون نیاز به نوشتن اسکریپت‌های پیچیده فراهم می‌کند.



 

🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!






ایندکس چیست؟

ایندکس در SQL Server ساختاری است که برای افزایش سرعت جستجو و بازیابی داده‌ها استفاده می‌شود.
عملکرد ایندکس مشابه فهرست کتاب است؛ به جای جستجوی تمام صفحات، می‌توان مستقیماً به بخش موردنظر دسترسی پیدا کرد.

وجود ایندکس مناسب باعث می‌شود:

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

Fragmentation چیست؟

با گذشت زمان و انجام عملیات Insert، Update و Delete، صفحات داده در ایندکس‌ها به شکل نامنظم ذخیره می‌شوند.
این وضعیت Fragmentation نام دارد.

Fragmentation باعث می‌شود:

  • تعداد عملیات خواندن دیسک افزایش یابد.
  • سرعت اجرای Queryها کاهش پیدا کند.
  • مصرف CPU و حافظه بیشتر شود.
  • کارایی ایندکس افت کند.

انواع Fragmentation

  • Internal Fragmentation

    در این حالت فضای خالی زیادی در صفحات ایندکس وجود دارد و صفحات به طور کامل پر نشده‌اند.
  • External Fragmentation

    در این نوع، صفحات ایندکس به صورت پراکنده روی دیسک قرار گرفته‌اند و ترتیب منطقی آن‌ها با ترتیب فیزیکی متفاوت است.

 

Rebuild Index چیست؟

عملیات Rebuild Index باعث ایجاد مجدد ساختار ایندکس می‌شود. در این فرآیند:

  • صفحات ایندکس دوباره مرتب می‌شوند.
  • Fragmentation حذف می‌شود.
  • فضای خالی اضافی آزاد می‌شود.
  • آمار ایندکس‌ها (Statistics) به‌روزرسانی می‌شود.

به عبارت دیگر، Rebuild یک ایندکس جدید ایجاد کرده و سپس جایگزین ایندکس قبلی می‌کند.

 

مزایای Rebuild Index  در SQL Server

  • افزایش سرعت Queryها

    پس از بازسازی ایندکس، دسترسی به داده‌ها سریع‌تر انجام می‌شود.
  • حذف Fragmentation

    ساختار ایندکس به حالت بهینه بازمی‌گردد.
  • به‌روزرسانی Statistics

    آمارهای مورد استفاده Query Optimizer نیز به‌روزرسانی می‌شوند.
  • بهبود عملکرد سرور

    کاهش عملیات I/O باعث بهبود عملکرد کلی SQL Server می‌شود.



مزایای Rebuild Index در SQL Server



تفاوت Rebuild و Reorganize

ویژگی  Reorganize Rebuild
حذف کامل Fragmentation  بله  خیر
سرعت اجرا  سریع‌تر  کندتر
مصرف منابع  بیشتر  کمتر
بروزرسانی Statistics بله   خیر
نیاز به فضای اضافی  بله  خیر

 

معمولاً:

  • Fragmentation بین 5 تا 30 درصد → Reorganize
  • Fragmentation بالاتر از 30 درصد → Rebuild



Maintenance Plan چیست؟

Maintenance Plan ابزاری گرافیکی در SQL Server است که برای زمان‌بندی عملیات نگهداری پایگاه داده استفاده می‌شود.

از جمله وظایفی که می‌توان با Maintenance Plan انجام داد:

 

  • Rebuild Index

  • Reorganize Index

  • Backup Database

  • Update Statistics

  • Cleanup Files

  • Check Database Integrity



مزایای استفاده از Maintenance Plan در SQL Server

  • عدم نیاز به کدنویسی

    تمام تنظیمات از طریق محیط گرافیکی انجام می‌شود.
  • اجرای خودکار

    عملیات نگهداری به صورت زمان‌بندی شده اجرا می‌شوند.
  • مدیریت آسان

    امکان مشاهده و ویرایش وظایف در هر زمان وجود دارد.
  • مناسب برای مدیران تازه‌کار

    بدون نیاز به دانش عمیق T-SQL می‌توان عملیات نگهداری را پیاده‌سازی کرد.


مزایای استفاده از Maintenance Plan در SQL Server



فعال بودن SQL Server Agent

قبل از ایجاد Maintenance Plan باید اطمینان حاصل کنید که سرویس SQL Server Agent فعال است.

برای بررسی:

  • SQL Server Management Studio را باز کنید.
  • بخش SQL Server Agent را مشاهده کنید.
  • در صورت توقف، روی آن کلیک راست کرده و گزینه Start را انتخاب نمایید.


ایجاد Maintenance Plan برای Rebuild Index

مرحله اول: ورود به Management Studio

وارد SQL Server Management Studio شوید و به سرور موردنظر متصل شوید.

 

مرحله دوم: ایجاد Maintenance Plan

از مسیر زیر وارد شوید:

Management
Maintenance Plans

سپس روی Maintenance Plans کلیک راست کرده و گزینه:

 

New Maintenance Plan

 

را انتخاب کنید.

 

مرحله سوم: تعیین نام

 

یک نام مناسب وارد کنید.

 

مثال:

 

Weekly Index Rebuild

 

یا

 

Auto Index Maintenance

مرحله چهارم: تنظیم زمان‌بندی

روی بخش Calendar کلیک کنید.

سپس زمان اجرای Job را مشخص نمایید.

مثال:

  • روزانه
  • هفتگی
  • ماهانه

 

بسیاری از مدیران پایگاه داده عملیات Rebuild را به صورت هفتگی و در ساعات کم‌ترافیک اجرا می‌کنند.

 

مثال:

 

Sunday

02:00 AM

مرحله پنجم: افزودن Task

از بخش Toolbox گزینه:

 

Rebuild Index Task

 

را انتخاب کرده و داخل صفحه Maintenance Plan قرار دهید.

 

مرحله ششم: تنظیم Rebuild Index

روی Task دوبار کلیک کنید.

پنجره تنظیمات باز خواهد شد.

  • انتخاب پایگاه داده

در قسمت Databases می‌توانید:
    • همه دیتابیس‌ها
    • یک دیتابیس خاص
    • چند دیتابیس مشخص
را انتخاب کنید.

مثال:

 

SalesDB
  • انتخاب جداول

در قسمت Tables می‌توانید تعیین کنید:
    • همه جداول
    • جداول خاص
بازسازی شوند.

 

  • انتخاب ایندکس‌ها

امکان انتخاب:

 

All Indexes

 

یا ایندکس‌های خاص وجود دارد.

 

Fill Factor

 

در این بخش می‌توانید مقدار Fill Factor را تعیین کنید.

 

مثال:

 

90%

 

این مقدار باعث می‌شود مقداری فضای خالی در صفحات ایندکس باقی بماند تا Fragmentation سریع ایجاد نشود.

 

Sort Results in TempDB

 

فعال کردن گزینه:

 

Sort results in tempdb

 

می‌تواند سرعت عملیات Rebuild را افزایش دهد.

 

Keep Index Online

 

در نسخه‌های Enterprise امکان فعال کردن:

 

Keep index online

 

وجود دارد.

در این حالت کاربران هنگام بازسازی ایندکس همچنان به داده‌ها دسترسی خواهند داشت.

 

ذخیره Maintenance Plan در SQL Server

پس از تکمیل تنظیمات:

 

Ctrl + S

 

را فشار دهید یا روی Save کلیک کنید.

در این مرحله SQL Server به صورت خودکار یک Job در SQL Server Agent ایجاد می‌کند.

 

بررسی Job ایجاد شده

از مسیر زیر وارد شوید:

 

SQL Server Agent

Jobs

 

در این قسمت Job مربوط به Maintenance Plan قابل مشاهده است.

 

اجرای دستی Job

برای تست عملکرد می‌توانید روی Job کلیک راست کرده و گزینه:

 

Start Job at Step

 

را انتخاب نمایید.

 

مشاهده نتیجه اجرا

 

از مسیر زیر:

 

SQL Server Agent

Job History

 

می‌توانید وضعیت اجرا را بررسی کنید.

پیغام موفقیت معمولاً به شکل زیر نمایش داده می‌شود:

 

The job succeeded.

بررسی میزان Fragmentation قبل از Rebuild

برای مشاهده وضعیت ایندکس‌ها می‌توان از DMV زیر استفاده کرد:

 

SELECT

OBJECT_NAME(object_id) AS TableName,

avg_fragmentation_in_percent

FROM sys.dm_db_index_physical_stats

(

DB_ID(),

NULL,

NULL,

NULL,

'SAMPLED'

)

بررسی وضعیت پس از Rebuild

پس از اجرای Maintenance Plan مجدداً همان Query را اجرا کنید.

در اغلب موارد میزان Fragmentation به نزدیک صفر می‌رسد.

 

بهترین زمان اجرای Rebuild

به دلیل مصرف بالای منابع بهتر است عملیات Rebuild در زمان‌های کم‌ترافیک انجام شود.

نمونه زمان‌های مناسب:

  • نیمه شب
  • آخر هفته
  • ساعات خارج از زمان کاری

نکات مهم نحوه Rebuild بازسازی خودکار ایندکس‌ها در SQL Server

  • از Backup استفاده کنید

    قبل از اجرای عملیات نگهداری، از پایگاه داده نسخه پشتیبان تهیه کنید.
  • روی دیتابیس‌های بزرگ محتاط باشید

    در دیتابیس‌های چند صد گیگابایتی، Rebuild می‌تواند زمان زیادی طول بکشد.
  • از مانیتورینگ استفاده کنید

    پس از اجرای Maintenance Plan عملکرد سرور را بررسی نمایید.
  • Update Statistics را نیز زمان‌بندی کنید

    اگرچه Rebuild آمارها را به‌روزرسانی می‌کند، اما اجرای جداگانه Update Statistics نیز توصیه می‌شود.



نکات مهم نحوه Rebuild بازسازی خودکار ایندکس‌ها در SQL Server

جمع‌بندی

Rebuild Index یکی از مهم‌ترین عملیات‌های نگهداری در SQL Server است که با حذف Fragmentation و بازسازی ساختار ایندکس‌ها، عملکرد پایگاه داده را بهبود می‌بخشد.
Maintenance Plan روشی ساده و گرافیکی برای زمان‌بندی و اجرای خودکار این فرآیند محسوب می‌شود و بدون نیاز به کدنویسی امکان مدیریت منظم ایندکس‌ها را فراهم می‌کند.

با ایجاد یک Maintenance Plan مناسب و اجرای منظم آن، می‌توان از افت عملکرد پایگاه داده جلوگیری کرد، سرعت اجرای کوئری‌ها را افزایش داد و بهره‌وری SQL Server را در طول زمان حفظ نمود.

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “نحوه Rebuild خودکار ایندکس ها از طریق Maintenance Plan” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو