جلوگیری از کند شدن شیرپوینت ، راهکارهای نگهداری دیتابیس شیرپوینت

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

TechNet اهمیت این موضوع را در دو مقاله برجسته می کند:

  (Database maintenance for SharePoint 2010 Products / Best practices for SQL Server in a SharePoint Server farm)

” نگهداری پایگاه داده به طور منظم برای عملکرد صحیح پایگاه داده های مایکروسافت شیرپوینت ضروری است”

به شدت اجرای یک برنامه نگهداری برنامه ریزی شده از SQL Server  را توصیه می کنیم

در ارزیابی ریسک های مایکروسافت (RAP به عنوان یک سرویس برای سرور شیرپوینت)، یک وظیفه نگه داری از دست رفته یا ناقص موجب بالا رفتن ریسک می شود.

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

TechNet چیزهایی را پوشش می دهد برای تمرکز بر آن که متاسفانه در دو مقاله جداگانه قرار دارد. یک مقاله برای SharePoint 2010 (نگهداری پایگاه داده برای محصولات شیرپوینت 2010) نوشته شده است، دومی بهترین شیوه برای SharePoint 2013 توضیح می دهد (بهترین روش برای SQL Server در فارم شیرپوینت).

اساسا هر دو مقاله مهم و معتبر هستند، اما مقاله شیرپوینت 2010 شامل برخی از اطلاعات قدیمی برای محیط های شیرپوینت 2013/2016 است (توصیه های عامل پرکردن بانک اطلاعات در شیرپوینت 2010 متفاوت بوده است). من تصمیم گرفتم این مقاله جدید را برای راهنمایی گام به گام که احتمالا برای بیشتر فارم های شیرپوینت مناسب است، بنویسم.

آنچه که شامل برنامه نگهداری SQL برای پایگاه داده های شیرپوینت 2013/2016 می شود:

کارهای زیر باید در جاب نگهداری پایگاه داده شیرپوینت قرارگیرد:

  • بررسی تسک یکپارچگی پایگاه داده……………………………………………………….. 1-Check Database Integrity Task
  • تسک ایندکس بازسازی ………………………………………………………………………………………………….2 -Rebuild Index Task
  • تسک به روز رسانی آمارگری (FullScan)………………………………………..3-Update Statistics (Fullscan) Task
  • تسک پاکسازی سابقه ………………………………………………………………………………………………….4-History Cleanup Task
  • تسک پاکسازی تعمیر و نگهداری ………………………………………………………………….5-Maintenance Cleanup Task
جلوگیری از کند شدن شیرپوینت

جلوگیری از کند شدن شیرپوینت

نکته :

  • این توالی کاری توسط برخی از همکاران بزرگ مایکروسافت مورد تایید قرار گرفت.

(با تشکر از شما آندریاس مایوالد، راینر آسباخ و یوهان هکل)

  • وظایف پشتیبان گیری پایگاه داده نیز می تواند در نظریه اضافه شود. من توصیه می کنم تمام وظایف مرتبط با پشتیبان را در یک برنامه تعمیر و نگهداری جداگانه بسته بندی کنید تا برنامه ریزی دقیق تر داشته باشید.

چگونگی راه اندازی برنامه تعمیر و نگهداری

از SQL Management Studio برای ایجاد طرح تعمیر و نگهداری خود استفاده کنید. از ویزارد استفاده نکنید، ویرایشگر برنامه تعمیر و نگهداری(Maintenance Plan Editor) به شما کنترل بیشتری در مورد طرح شما می دهد:

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

 اما قبل از طراحی وظایف برنامه، باید درباره گزارش گیری / لاگ گیری (logging / reporting ) مراقب باشید تا بتوانید در هر مساله یا مشکلی پیگیری کنید.

پیکربندی گزارش گیری و لاگ گرفتن

SQL Server ویژگی های logging / reporting را می دهد که باید در یک برنامه تعمیر و نگهداری SQL قرار گیرد.

با خواندن این مطلب مطمئن شویدکه با این موضوع آشنا هستید:

SQL Server Maintenance Plans Reporting and Logging

1– وظیفه: بررسی یکپارچگی پایگاه داده –Task: Check Database Integrity

چرا ما به این نیاز داریم:

وظیفه بررسی یکپارچگی پایگاه داده، تخصیص و یکپارچگی ساختاری یک پایگاه داده، را با اجرای دستور

DBCC CHECKDB Transact-SQL بررسی می کند.

چگونگی پیکربندی این تسک (مثال):

با خواندن این مطلب مطمئن شویدکه با این موضوع آشنا هستید:

Check Database Integrity Task (Maintenance Plan)

 

2– وظیفه: بازسازی شاخص-Task: Rebuild Index

چرا ما به این نیاز داریم:

ما با استفاده از گفتمان Rebuild Index Task از دوباره سازی شاخص ها در جداول در پایگاه داده با یک عامل پر کننده جدید استفاده می کنیم. فاکتور پر کردن مقدار فضای خالی را در هر صفحه در فهرست تعیین می کند تا بتواند در آینده گسترش یابد. همانطور که داده ها به جدول اضافه می شود، فضای آزاد پر می شود، زیرا فاکتور پر نگهداری نمی شود. سازماندهی مجدد داده ها و صفحات شاخص می تواند فضای آزاد را دوباره ایجاد کند.

اهمیت:

وظیفه Index Rebuild نیاز به توجه فوری از لحاظ برنامه ریزی دارد . برای بهترین نتایج، Rebuild Index Task باید در حالت آفلاین اجرا شود. اگر محیط شیرپوینت در سراسر تایم زون ها استفاده می شود (و در طول شب هیچ شکلی از تعمیر و نگهداری واقعی وجود ندارد)، برنامه باید در آخر هفته اجرا شود. در نظر بگیرید که یک برنامه نگهداری ایندکس بازسازی Rebuild Index مجدد ایجاد کنید که برای آخر هفته برنامه ریزی شده است. به این ترتیب شما می توانید تسک های دیگر را روزانه (شبانه) اجرا کنید. در مورد تفاوت بین آفلاین و آنلاین ایندکس بازسازی Index Rebuild اطلاعات بیشتر بدانید:

چگونگی پیکربندی این تسک (مثال):

با خواندن این مطلب مطمئن شویدکه با این موضوع آشنا هستید:

Rebuild Index Task (Maintenance Plan)

 

3- وظیفه: به روز رسانی آمار (Fullscan)- Task: Update Statistic (Fullscan)

چرا ما به این نیاز داریم:

عملکرد پرس و جو می تواند به طور قابل توجهی با به روز رسانی آمار پایگاه داده با استفاده از گزینه fullscan بهبود یابد.

کسانی هستند که از مسائل عملکرد قابل توجهی رنج می برند که ناشی از آمار قدیمی است . این چیزی است که ما می خواهیم از طریق ایجاد یک Maintenance Plan Task برای به روز رسانی آمار با گزینه Fullscan ، از آن اجتناب کنیم. اگر آمار یکی از پایگاه داده محتوا در چنین حالت ضعیفی باشد، بار CPU از اینستنس پایگاه داده SQL شما احتمالا به 100٪ می رسد و باعث ایجاد مشکلات جدی برای کل فارم می شود.  This is a known issue at Microsoft support and caused by outdated statistics.

حتی اگر رل های Timer Jobs / Health Analyzer وجود داشته باشد که قرار است فقط در مورد این آمار مراقبت کنند، شرایطی وجود دارد که این جاب ها به درستی کار نمی کنند.به همین دلیل مایکروسافت به صراحت توصیه می کند که یک تسکی را برای به روز رسانی آمار با استفاده از گزینه fullscan ایجاد کنید.

چگونگی پیکربندی این تسک (مثال):

با خواندن این مطلب مطمئن شویدکه با این موضوع آشنا هستید:

 

4- وظیفه: وظیفه پاکسازی سابقه Task: History Cleanup Task

چرا ما به این نیاز داریم:

پاکسازی سابقه، تاریخچه اطلاعات قدیمی را از جداول در پایگاه داده msdb حذف می کند. این تسک از حذف، تاریخچه پشتیبانگیری و بازیابی، تاریخچه SQL Server Agent job و تاریخچه طرح نگهداری(maintenance plan) پشتیبانی می کند.

چگونگی پیکربندی این وظیفه (مثال):

با خواندن این مطلب مطمئن شویدکه با این موضوع آشنا هستید:

History Cleanup Task (Maintenance Plan)

 

5- وظیفه: عملیات پاکسازی تعمیر و نگهداری – Task: Maintenance Cleanup Task

چرا ما به این نیاز داریم:

با استفاده از وظیفه پاکسازی نگهداری برای حذف فایل های قدیمی مربوط به برنامه های تعمیر و نگهداری، از جمله گزارش های متن (مشاهده: لاگ و گزارش) ایجاد شده توسط برنامه های تعمیر و نگهداری و فایل های پشتیبان پایگاه داده که باعث جلوگیری از کند شدن شیرپوینت میشود.

با خواندن این مطلب مطمئن شویدکه با این موضوع آشنا هستید:

Maintenance Cleanup Task (Maintenance Plan)

 

برقراری ارتباط وظایف طرح – Connecting the Tasks of the Plan

هنگامی که شما تمام تسک ها را اضافه کردید و آنها را به صورت جداگانه پیکربندی کردید، باید همه آنها را با هم مرتبط کنید:

آنها را با اشاره به فلش سبز به کار بعدی وصل کنید. دوبار روی فلش اتصال کلیک کنید و ارتباط را پیکربندی کنید:

پس از اتصال دو وظیفه، این طرح جریان کاری بین دو وظیفه را نشان می دهد:

برنامه ریزی برنامه نگهداری Scheduling the Maintenance Plan

مشتریان معمولا برنامه های تعمیر و نگهداری برای پایگاه داده های شیرپوینت را بر پایه روزانه / هفتگی (بسته به زمان اجرا) برنامه ریزی می کنند. برنامه ها باید با سایر تسک های تعمیر و نگهداری مانند جاب های پشتیبان گیری هماهنگ شوند و برنامه ریزی شوند در ساعت های غیر پیک کاری اجرا شوند ( به طور مثال در طول شب، در آخر هفته)

اهمیت:

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

 

مهم: تست برنامه نگهداری جهت جلوگیری از کند شدن شیرپوینت

برنامه مراقبت در محیط آزمایشگاهی خود را برای مدت زمان (2 تا 4 هفته)، با استفاده از کپی کامل از پایگاه داده های تولید خود، دقیقا ارزیابی کنید. کل برنامه در حال اجرا بررسی کنید و اطمینان حاصل کنید که برنامه با سایر برنامه های نگهداری برنامه ریزی شده برخورد نمی کند. جاب های پشتیبان گیری از لاگهای تراکنش  تحت تاثیر قرار نمی گیرند.

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

بررسی نتایج  طرح نگهداری

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

1- بررسی تاریخچه جاب تعمیر و نگهداری Check Maintenance Job History

2- بررسی لاگ فایل جاب های نگهداری  Check Maintenance Job Log File

در فولدر لاگ فایل (در فولدر اصلی اینستنس SQL) یک لاگ فایل برای هر جاب نگهداری وجود دارد. که می توان بازبینی و بررسی کرد.

مطالعه بیشتر: SQL Server Maintenance Plans Reporting and Logging

جاب های اس کیو ال سرور در مقابل طرح های نگهداری

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

مطالعه بیشتر:

چیزی که نباید انجام دهید

شرینک کردن پایگاه داده به طور منظم. به هیچ عنوان نباید انجام بشود. مگر واقعا مجبور باشید، دستی شرینک کنید، اما هرگز آن را در برنامه نگهداری نگذارید.مطالعه بیشتر:   Shrinking data files

اجرای Maintenance Plan در طول ساعات کاری.  نباید انجام شود. زیرا اینک کار باعث کند شدن شیرپوینت میشود. احتمالا عملکرد در طی مراحل تکمیل تعمیر و نگهداری کاهش می یابد. برای یادگیری بیشتر، قسمت Scheduling Plan Maintenance این مقاله را مرور کنید.

نتیجه

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

یک دیدگاه در “جلوگیری از کند شدن شیرپوینت ، راهکارهای نگهداری دیتابیس شیرپوینت

  • با سلام و احترام،
    مطالبی که زحمت کشیدید و در اختیار گذاشتید بسیار مفید واقع شدند دست شما درد نکنه اما اشکال بنده این است که من با شیرپوینت ۲۰۱۰ کار می کنم و دو تا سرور دارم یکی اصلی و یکی پشتیبان وقتی سرور پشتیبان از دسترس خارج میشه متاسفانه تارگت اودینس پورتالهام میپره و بایستی همه web port هایی که تارگت دارند و پنهان کنم مشکل چیه راه حلی هست که دیگه با همچین مشکلی مواجه نشم ممنون میشم راهنماییم کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *