قم بتحسين بيئة SQL الخاصة بك باستخدام حلMicrosoft SQL Server Health Check في Azure Monitor

رمز SQL Health Check

يمكنك استخدام حل SQL Health Check لتقييم مخاطر وصحة بيئات الخادم على فاصل زمني منتظم. ستساعدك هذه المقالة في تثبيت الحل بحيث يمكنك اتخاذ الإجراءات التصحيحية للمشاكل المحتملة.

يوفر هذا الحل قائمة توصيات ذات أولوية خاصة بالبنية الأساسية للخادم الذي تم نشره. يتم تصنيف التوصيات عبر ستة مجالات تركيز تساعدك على فهم المخاطر بسرعة واتخاذ الإجراءات التصحيحية.

تستند التوصيات المقدمة إلى المعرفة والخبرة التي اكتسبها مهندسو Microsoft من آلاف زيارات العملاء. توفر كل توصية إرشادات حول سبب أهمية المشكلة لك وكيفية تنفيذ التغييرات المقترحة.

يمكنك اختيار مجالات التركيز الأكثر أهمية للمؤسسة الخاصة بك وتعقب تقدمك نحو إدارة بيئة خالية من المخاطر وصحية.

بعد إضافة الحل واكتمال التقييم، يتم عرض معلومات موجزة لمناطق التركيز في لوحة معلومات SQL Health Check للبنية الأساسية في البيئة الخاصة بك. تصف الأقسام التالية كيفية استخدام المعلومات الموجودة على لوحة معلومات SQL Health Check، حيث يمكنك عرض ثم اتخاذ الإجراءات الموصى بها للبنية الأساسية لـ Microsoft SQL Server.

صورة مصغرة من الخريطة لـ SQL Health Check

صورة لوحة معلومات SQL Health Check

المتطلبات الأساسية

  • يتطلب حل SQL Health Check إصدارًا مدعومًا من.NET Framework 4.6.2 مثبتًا على كل كمبيوتر مثبت عليهMicrosoft Monitoring Agent (MMA). يتم استخدام عامل MMA بواسطةSystem Center 2016 - Operations Manager 2012 R2 وAzure Monitor.

  • يدعم الحل إصدار SQL Server 2012 و2014 و2016 و2017 و2019.

  • مساحة عمل Log Analytics لإضافة حل SQL Health Check من Azure Marketplace في مدخل Microsoft Azure. لتثبيت الحل، يجب أن تكون مسؤولًا أو مساهمًا في اشتراك Azure.

    ملاحظة

    بعد إضافة الحل، تتم إضافة ملف AdvisorAssessment.exe إلى خوادم مع عوامل. تتم قراءة بيانات التكوين ثم إرسالها إلى Azure Monitor في مجموعة السحابة للمعالجة. يتم تطبيق المنطق على البيانات المستلمة وتقوم الخدمة السحابية بتسجيل البيانات.

لإجراء الفحص الصحي لخوادم Microsoft SQL Server، فإنها تتطلب وكيلًا واتصالًا بـ Azure Monitor باستخدام إحدى الطرق المدعومة التالية:

  1. قم بتثبيتMicrosoft Monitoring Agent (MMA) إذا لم يكن الخادم خاضعًا للمراقبة بالفعل بواسطةSystem Center 2016 - Operations Manager أو Operations Manager 2012 R2.
  2. إذا تمت مراقبته System Center 2016 - OperationsManager أو Operations Manager 2012 R2 ولم يتم دمج مجموعة الإدارة مع Azure Monitor، يمكن للخادم أن يكون multi-homed باستخدام Log Analytics لجمع البيانات وإعادة توجيهها إلى الخدمة ولا يزال يخضع للمراقبة بواسطة Operations Manager.
  3. بخلاف ذلك، إذا كانت مجموعة إدارة Operations Manager الخاصة بك متكاملة مع الخدمة، فستحتاج إلى إضافة وحدات التحكم بالمجال لتجميع البيانات بواسطة الخدمة باتباع الخطوات الموجودة ضمن إضافة أجهزة كمبيوتر يديرها الوكيل بعد تمكين الحل في مساحة العمل الخاصة بك

الوكيل الموجود في Microsoft SQL Server الخاص بك والذي يقدم تقارير إلى مجموعة إدارة Operations Manager، ويجمع البيانات، ويعيد توجيهها إلى خادم الإدارة المعين، ثم يتم إرساله مباشرة من خادم الإدارة إلى Azure Monitor. لم تتم كتابة البيانات في قواعد بيانات Operation Manager.

إذا كان Microsoft SQL Server مراقبًا بواسطة Operations Manager، فأنت بحاجة إلى تكوين حسابOperations Manager Run As. راجع تشغيل Operations Manager كحسابات لـAzure Monitor أدناه للحصول على مزيد من المعلومات.

تفاصيل مجموعة بيانات SQL Health Check

يقوم SQL Health Check بتجميع البيانات من المصادر التالية باستخدام العامل الذي قمت بتمكينه:

  • Windows Management Instrumentation (WMI)
  • التسجيلات
  • عدادات الأداء
  • نتائج عرض الإدارة الديناميكية لـ Microsoft SQL Server

يتم جمع البيانات على Microsoft SQL Server وإعادة توجيهها إلىLog Analytics كل سبعة أيام.

Operations Manager يشغل كحسابات لـ Log Analytics

يستخدم Log Analytics وكيل Operations Manager ومجموعة الإدارة لجمع البيانات وإرسالها إلى خدمة Log Analytics. تعتمد تحليلات السجل على حزم الإدارة لأحمال العمل لتقديم خدمات ذات قيمة مضافة. يتطلب كل حمل عمل امتيازات خاصة بحمل العمل لتشغيل حزم الإدارة في سياق أمان مختلف، مثل حساب مستخدم المجال. تحتاج إلى تقديم معلومات بيانات اعتماد عن طريق تكوين حساب Operations Manager Run As.

استخدم المعلومات التالية لتعيين حساب Manager Run As لـSQL Health Check.

تعيين حساب Run As لـ SQL Health Check

إذا كنت تستخدم بالفعل حزمة إدارة Microsoft SQL Server، فيجب عليك استخدام تكوين Run As.

لتكوين حساب SQL Run As في وحدة تحكم Operations

ملاحظة

بشكل افتراضي، يتم تشغيل سير العمل في حزمة الإدارة في سياق الأمان لحساب "النظام المحلي". إذا كنت تستخدم Microsoft Monitoring Agent المتصل مباشرةً بالخدمة بدلاً من تقديم التقارير مباشرةً إلى مجموعة إدارة Operations Manager، فتخط الخطوات من 1 إلى 5 أدناه وقم بتشغيل نموذج T-SQL أو PowerShell، مع تحديدNT AUTHORITY \SYSTEM كاسم المستخدم.

  1. في Operations Manager، افتح وحدة تحكم Operations، ثم انقر فوق Administration.

  2. ضمنRun As Configuration، انقر فوق Profiles، وافتح SQL Assessment Run As Profile.

  3. في صفحة Run As Accounts، انقر فوق Add.

  4. حدد حساب Windows Run As الذي يحتوي على بيانات الاعتماد المطلوبة لـ Microsoft SQL Server، أو انقر فوق New لإنشاء حساب.

    ملاحظة

    يجب أن يكون نوع الحساب Run As هو Windows. يجب أن يكون حساب Run As أيضًا جزءًا من مجموعة المسؤولين المحليين على كافة خوادم Windows التي تستضيف مثيلات Microsoft SQL Server.

  5. انقر فوق Save.

  6. قم بتعديل نموذج T-SQL التالي ثم قم بتنفيذه على كل مثيل Microsoft SQL Server لمنح الحد الأدنى من الأذونات المطلوبة لـRun As Account لإجراء فحص الصحة. ومع ذلك، لا تحتاج إلى القيام بذلك إذا كان Run As Account هو بالفعل جزءًا من دور خادم مسؤول النظام في مثيلات Microsoft SQL Server.

    ---
    -- Replace <UserName> with the actual user name being used as Run As Account.
    USE master

    -- Create login for the user, comment this line if login is already created.
    CREATE LOGIN [<UserName>] FROM WINDOWS

    -- Grant permissions to user.
    GRANT VIEW SERVER STATE TO [<UserName>]
    GRANT VIEW ANY DEFINITION TO [<UserName>]
    GRANT VIEW ANY DATABASE TO [<UserName>]

    -- Add database user for all the databases on SQL Server Instance, this is required for connecting to individual databases.
    -- NOTE: This command must be run anytime new databases are added to SQL Server instances.
    EXEC sp_msforeachdb N'USE [?]; CREATE USER [<UserName>] FOR LOGIN [<UserName>];'

لتكوين حساب SQL Run As باستخدام Windows PowerShell

افتح نافذة PowerShell وقم بتشغيل البرنامج النصي التالي بعد تحديثه بالمعلومات الخاصة بك:

    import-module OperationsManager
    New-SCOMManagementGroupConnection "<your management group name>"

    $profile = Get-SCOMRunAsProfile -DisplayName "SQL Assessment Run As Profile"
    $account = Get-SCOMrunAsAccount | Where-Object {$_.Name -eq "<your run as account name>"}
    Set-SCOMRunAsProfile -Action "Add" -Profile $Profile -Account $Account

فهم كيفية تحديد أولويات التوصيات

يتم إعطاء كل توصية يتم تقديمها قيمة ترجيح تحدد الأهمية النسبية للتوصية. يتم عرض أهم عشر توصيات فقط.

كيف يتم احتساب الترجيح

الترجيح هو قيم مجمعة تستند إلى ثلاثة عوامل رئيسية:

  • احتمال أن تؤدي المشكلة المحددة إلى حدوث مشاكل. يساوي الاحتمال الأعلى درجة إجمالية أكبر للتوصية.
  • تأثير المشكلة على المؤسسة إذا كانت تتسبب في حدوث مشكلة. التأثير الأعلى يساوي درجة إجمالية أكبر للتوصية.
  • الجهد المطلوب لتنفيذ التوصية. يساوي الجهد الأعلى درجة إجمالية أقل للتوصية.

يتم التعبير عن الترجيح لكل توصية كنسبة مئوية من مجموع النقاط المتاحة لكل منطقة تركيز. على سبيل المثال، إذا كانت التوصية في مجال تركيز الأمان والتوافق قد حصلت على درجة 5٪ فإن تنفيذ هذه التوصية سيزيد من مجموع نقاط الأمان والتوافق بنسبة 5٪.

مجالات التركيز

الأمن والامتثال - يُظهر مجال التركيز هذا توصيات بشأن التهديدات والانتهاكات الأمنية المحتملة ونُهج الشركة ومتطلبات الامتثال الفنية والقانونية والتنظيمية.

التوفر واستمرارية الأعمال - يُظهر مجال التركيز هذا توصيات بشأن توفر الخدمة، ومرونة البنية الأساسية الخاصة بك، وحماية الأعمال.

الأداء وقابلية التوسع - يُظهر مجال التركيز هذا توصيات لمساعدة البنية الأساسية الخاصة بتكنولوجيا المعلومات في مؤسستك على النمو، والتأكد من أن بيئة تكنولوجيا المعلومات لديك تلبي متطلبات الأداء الحالية، والقدرة على الاستجابة لاحتياجات البنية التحتية المتغيرة.

الترقية والترحيل والنشر - يعرض مجال التركيز هذا توصيات لمساعدتك في ترقية Microsoft SQL Server وترحيله ونشره في البنية الأساسية الحالية لديك.

العمليات والمراقبة - يُظهر مجال التركيز هذا توصيات للمساعدة في تبسيط عمليات تقنية المعلومات، وتنفيذ الصيانة الوقائية، وزيادة الأداء.

إدارة التغيير والتكوين - يعرض مجال التركيز هذا توصيات للمساعدة في حماية العمليات اليومية، والتأكد من أن التغييرات لا تؤثر سلبًا على البنية الأساسية الخاصة بك، وإنشاء إجراءات التحكم في التغيير، وتعقب تكوينات النظام وتدقيقها.

هل يجب أن تهدف إلى تحقيق 100٪ في كل مجال تركيز؟

ليس بالضرورة. تستند التوصيات إلى المعرفة والخبرة المكتسبة من مهندسي Microsoft من آلاف زيارات العملاء. ولكن، لا توجد بنيتان أساسيتان للخادم متماثلتان، وقد تكون التوصيات المحددة أكثر أو أقل ملاءمة بالنسبة لك. على سبيل المثال، قد تكون بعض توصيات الأمان أقل ملاءمة إذا لم تكن أجهزتك الظاهرية عرضة للإنترنت. وقد تكون بعض توصيات التوافر أقل أهمية بالنسبة للخدمات التي تقدم جمع البيانات المخصصة ذات الأولوية المنخفضة والإبلاغ عنها. قد تكون المسائل التي تهم الأنشطة التجارية الناضجة أقل أهمية للأنشطة التجارية البادئة. قد ترغب في تحديد أي مجالات التركيز التي تمثل أولوياتك، ومن ثم النظر في كيفية تغيير درجاتك بمرور الوقت.

وتتضمن كل توصية إرشادات حول سبب أهميتها. يجب عليك استخدام هذا الإرشاد لتقييم ما إذا كان تنفيذ التوصية مناسبًا لك، نظرًا لطبيعة خدمات تكنولوجيا المعلومات واحتياجات العمل للمؤسسة الخاصة بك.

استخدم توصيات مجال التركيز Health Check

قبل أن تتمكن من استخدام حل التقييم في Azure Monitor، يجب أن يكون الحل مثبتًا لديك. بعد تثبيته، يمكنك عرض ملخص التوصيات باستخدام صورة مصغرة من الخريطة لـ SQL Health Check في صفحة Overview لـ Azure Monitor في مدخل Microsoft Azure.

اعرض تقييمات التوفق الملخصة للبنية الأساسية الخاصة بك ثم قم بالتنقل داخل التوصيات.

لعرض التوصيات الخاصة بمجال التركيز واتخاذ الإجراءات التصحيحية

  1. سجّل الدخول إلى مدخل Microsoft Azure على https://portal.azure.com.
  2. في مدخل Microsoft Azure، انقر فوق More services الموجودة في الزاوية اليسرى السفلية. في قائمة الموارد، اكتب Monitor. عندما تبدأ في الكتابة، يتم ترشيح القائمة بناءً على إدخالك. حدد Monitor.
  3. في قسم Insights بالقائمة، حدد More.
  4. في صفحة Overview، انقر فوق مربع SQL Health Check.
  5. في صفحة التحقق من الصحة ، راجع معلومات الملخص في أحد أقسام منطقة التركيز ثم انقر فوق أحدها لعرض توصيات منطقة التركيز هذه.
  6. في أي صفحة من صفحات منطقة التركيز يمكنك عرض التوصيات ذات الأولوية التي تم إجراؤها للبيئة. انقر فوق توصية ضمن العناصر المتأثرة لعرض التفاصيل حول سبب تقديم التوصية.

    صورة لتوصيات SQL Health Check
  7. يمكنك اتخاذ الإجراءات التصحيحية المقترحة في الإجراءات المقترحة. عندما تتم معالجة العنصر، ستسجل التقييمات اللاحقة اتخاذ الإجراءات الموصى بها وستزيد درجة التوافق الخاصة بك. تظهر العناصر التي تم تصحيحها على أنها كائنات تم تجاوزها.

تجاهل التوصيات

إذا كان لديك توصيات تريد تجاهلها، يمكنك إنشاء ملف نصي سيستخدمه Azure Monitor لمنع ظهور التوصيات في نتائج التقييم.

لتحديد التوصيات التي ستتجاهلها

  1. في قائمة Azure Monitor، انقر فوق Logs.

  2. استخدم الاستعلام التالي لسرد التوصيات التي فشلت لأجهزة الكمبيوتر في البيئة الخاصة بك.

    SQLAssessmentRecommendation | where RecommendationResult == "Failed" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    

    إليك لقطة شاشة تعرض استعلام السجل:

    توصيات فاشلة

  3. اختر التوصيات التي تريد تجاهلها. سوف تستخدم القيم لـRecommendationId في الإجراء التالي.

لإنشاء ملف نصي IgnoreRecommendations.txt واستخدامه

  1. إنشاء ملف يسمى IgnoreRecommendations.txt.
  2. لصق أو كتابة كل RecommendationId لكل توصية تريد أن يتجاهلها Azure Monitor على سطر منفصل ثم حفظ الملف وإغلاقه.
  3. وضع الملف في المجلد التالي على كل كمبيوتر حيث تريد من Azure Monitor تجاهل التوصيات.
    • على أجهزة الكمبيوتر المزودة بـ Microsoft Monitoring Agent (المتصلة مباشرة أو من Operations Manager) - SystemDrive:\Program Files \Microsoft Monitoring Agent \Agent
    • على خادم إدارة Operations Manager - SystemDrive: \Program Files \Microsoft System Center 2012 R2 \Operations Manager \Server
    • في خادم إدارةOperations Manager 2016 - SystemDrive: \Program Files \Microsoft System Center 2016 \Operations Manager \Server

للتحقق من تجاهل التوصيات

  1. بعد تشغيل التقييم المجدول التالي، بشكل افتراضي كل 7 أيام، يتم وضع علامة "متجاهل" على التوصيات المحددة ولن تظهر في لوحة معلومات التقييم.

  2. يمكنك استخدام Log Search في السجل التالي لسرد جميع التوصيات التي تم تجاهلها.

    SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
    
  3. إذا قررت لاحقًا أنك تريد رؤية التوصيات التي تم تجاهلها، فقم بإزالة أي ملفات IgnoreRecommendations.txt، أو يمكنك إزالة RecommendationIDs منها.

الأسئلة المتداولة

ما الفحوصات التي يتم إجراؤها بواسطة حل SQL Assessment؟

  • يعرض الاستعلام التالي وصفًا لجميع عمليات التحقق التي تم إجراؤها حاليًّا:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation

ويمكن بعد ذلك تصدير النتائج إلى Excel لمزيد من الاستعراض.

كم مرة يتم إجراء فحص حالة؟

  • يتم تشغيل الفحص كل سبعة أيام.

هل هناك طريقة لتكوين عدد مرات تشغيل الفحص؟

  • ليس في الوقت الحالي.

إذا تم اكتشاف خادم آخر بعد أن أضفت حل SQL Health Check، فهل يتم فحصه؟

  • نعم، بمجرد اكتشافه يتم فحصه منذ ذلك الحين كل سبعة أيام.

إذا تم إيقاف تشغيل خادم، متى ستتم إزالته من فحص الحالة؟

  • إذا لم يرسل خادم بيانات لمدة 3 أسابيع، تتم إزالته.

ما هو اسم العملية التي تقوم بتجميع البيانات؟

  • AdvisorAssessment.exe

كم من الوقت يستغرق جمع البيانات؟

  • يستغرق جمع البيانات الفعلية على الخادم حوالي 1 ساعة واحدة. قد يستغرق الأمر وقتًا أطول على الخوادم التي تحتوي على عدد كبير من مثيلات أو قواعد بيانات SQL.

ما نوع البيانات التي يتم تجميعها؟

  • يتم جمع الأنواع التالية من البيانات:
    • WMI
    • التسجيلات
    • عدادات الأداء
    • عروض إدارة SQL الديناميكية (DMV).

هل هناك طريقة للتكوين عند جمع البيانات؟

  • ليس في الوقت الحالي.

لماذا يجب علي تكوين Run As Account؟

  • بالنسبة لـ SQL Server، يتم تشغيل عدد صغير من استعلامات SQL. من أجل دفعهم لتشغيل، Run As Account مع أذوناتVIEW SERVER STATE إلى SQL يجب أن تستخدم. بالإضافة إلى ذلك، من أجل الاستعلام عن WMI، فإن بيانات اعتماد المسؤول المحلي مطلوبة.

لماذا يتم عرض أهم 10 توصيات فقط؟

  • بدلا من إعطائك قائمة شاملة من المهام، نوصيك بالتركيز على معالجة التوصيات ذات الأولوية أولًا. بعد معالجتها، ستتوفر توصيات إضافية. إذا كنت تفضل لرؤية قائمة مفصلة، يمكنك عرض جميع التوصيات باستخدام البحث Log Analytics log.

هل هناك طريقة لتجاهل التوصية؟

الخطوات التالية