it-swarm.asia

ماذا يجب أن يعرف DBA عن SSAS؟

لقد رأيت الكثير من المواد التي تغطي الجانب التجاري من SSAS ، ولكن ليس كثيرًا حول الجوانب المهمة للإدارة والتنظيم.

من وجهة نظر إدارة مثيل SQL Server Analysis Services ، ما الذي يجب أن يعرفه DBA العامل عن SSAS لإدارته بشكل صحيح وفعال؟

40
ivanmp

نظرة عامة سريعة على SSAS لـ DBAs

لذا ، فأنت SQL Server DBA وقد ورثت للتو بعض المكعبات لإدارتها. يبدو أن هناك دورة سريعة حول إدارة SSAS.

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

نسخ ملف التكوين احتياطيًا

جميع بيانات التكوين موجودة في ملف يسمى msdmsrv.ini. إنه ملف XML. إذا قمت بالعبث بالتهيئة من خلال SSMS (الاتصال بالخادم ، انقر بزر الماوس الأيمن على الخادم ، حدد الخصائص) ، يمكنك تعيين الخيارات التي ستؤدي إلى توقف الخادم عند بدء التشغيل. خذ نسخة من msmdsrv.ini قبل أن تلعب بأي شيء.

معلمات مهمة

الذاكرة: SSAS هو خنزير ذاكرة الكتاب المقدس. يحب بناء 64 بت إذا أمكن ، والكثير من الذاكرة. المعلمات "Memory\LowMemoryLimit" و "Memory\HighMemoryLimit" التحكم في سياسات استخدام الذاكرة. LowMemoryLimit ليس الحد الأدنى لتخصيص الذاكرة. إنها عتبة حيث ترى SSAS أن الذاكرة منخفضة في النظام وتبدأ في طرد الأشياء من مخابئها. HighMemoryLimit هو الحد الأقصى المطلق الذي سيتم استخدامه.

لاحظ أن SSAS يخزن بياناته في ملفات (الكثير من الملفات - ليس لديه أي آلية مكافئة لمجموعات الملفات) ، لذلك فهو يستخدم الكثير من التخزين المؤقت لنظام ملفات O/S لتلك الملفات. لاحظ أن القيمة الافتراضية لهذه الحدود هي حوالي 65٪ و 80٪ من ذاكرة الجهاز على التوالي ، لذلك إذا كنت تريد أن يتعايش الخادم OLAP مع مثيل SQL Server ، فستحتاج إلى تقليل هذه لذلك لا يتعارض مع الذاكرة مع خادم قاعدة البيانات.

الدلائل: خمس معلمات ذات أهمية تغطي هذا: DataDir و AllowBrowsingFolders و BackupDir و LogDir و TempDir. DataDir و AllowBrowsingFolders هي الأكثر أهمية.

  • AllowBrowsingFolders يؤثر على قائمة المجلدات التي يضعها خادم OLAP ملفات البيانات الخاصة به. أي شيء بواجهة مستخدم (مثل معالج النشر) سيقيد خياراتك إلى القائمة في AllowBrowsingFolders. القيمة هي قائمة محددة من الدلائل ('|').

  • DataDir هو المسار الافتراضي للملفات. إذا كنت تنوي تقسيم المكعب على وحدات تخزين متعددة ، فستحتاج إلى تكوين AllowBrowsingFolders بشكل مناسب.

  • LogDir هو المكان الذي يضع فيه الخادم ملفات السجل المختلفة بما في ذلك مسجل الرحلة وسجلات الاستعلام. يتم استخدام سجل مسجل الطيران لاستكشاف الأخطاء وإصلاحها و OLAP يتم استخدام سجل الاستعلام للتحسين المستند إلى الاستخدام (المزيد عن هذا لاحقًا)).

  • TempDir هو موقع للملفات المؤقتة التي يقوم SSAS بإنشائها أثناء المعالجة. إذا كنت تعالج كميات كبيرة من البيانات وتواجه مشكلات في الأداء ، فقد تستفيد من تحويل هذا إلى وحدة تخزين أخرى من البيانات.

  • BackupDir ما يقوله على العلبة.

متفرقات: قد تكون بعض المعلمات المتنوعة ذات أهمية أيضًا. هناك مجموعة من المجموعات التي قد تحتاج إلى تعديلها هي:

  • DefaultMaxDrillthroughRows: هذا يحد من حجم مجموعات صفوف الحفر. قد تحتاج إلى عزف هذا للسماح بالمزيد.

  • المواضيع/المهلات: قد تحتاج إلى تعديلها. لم يكن عليّ أن أزعجني.

هذه هي الأساسيات. قد تحتاج إلى تعديل الآخرين لأسباب محددة ، ولكن يمكنك القيام بواجبك المنزلي على ذلك.

يمكن العثور على دليل مرجعي لخصائص خادم SSAS هنا.

العمليات

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

مهام المشرف المبرمجة والمجمعة: يتم إصدار الأوامر إلى SSAS من خلال واجهة برمجة تطبيقات خدمة ويب تسمى XML/A. توفر Microsoft أداة تفاعلية لإصدار وصلات MDX و XML/A. إذا كان يجب عليك تضمين MDX في أمر XML/A ، فاحذر من الحاجة إلى استخدام حروف هروب XML مثل &. هذه ليست مشكلة مع محرر MDX وأداة الاستعلام في SSMS.

يمكن تنفيذ المهام في وضع عدم الاتصال من خلال مهام معالجة مكعب SSIS المختلفة ، وهي أداة سطر أوامر تسمى ascmd.exe أو واجهة برمجة تطبيقات .Net تسمى AMO. يمكنك أيضًا الحصول على أدوات powerhell المختلفة وما شابه ذلك. ascmd.exe يأخذ ملف XML/A وينشره على الخادم. إذا كان عليك تجميد الملف برمجيًا ، فقد يكون من الأفضل العمل باستخدام القليل من أدوات .Net بدلاً من محاولة معالجة ملفات XML من برنامج نصي cmd.

دليل العمليات يدخل في هذا بمزيد من التفصيل.

الأمان

الأمن على SSAS هو تبسيط إلى حد ما. له دور "خادم" عالمي له أذونات إدارية عبر النظام بأكمله. للأسف أنت بحاجة إلى 'Server' لإنشاء قواعد البيانات ، لذا فمن المحتمل جدًا أنك ستحتاج إلى منحها للمطورين في أي تطوير OLAP خوادم لديك.

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

يمكن رؤية مثال على كيفية إدارة عضوية الدور بطريقة برمجية هنا.

التحسين القائم على الاستخدام

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

ومع ذلك ، يجب عليك معرفة أي التجميعات المطلوب حسابها (أي مجموعات سمات الأبعاد لإنشاء مجموعات تراكمية لها). BIDS لديها أداة تخمن في هذا وتولد بعض لك. بعض الأدوات ، مثل مساعد BIDS ستسمح لك أيضًا بتحرير التجميعات يدويًا.

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

تُسمى أداة القيام بذلك "معالج التحسين المستند إلى الاستخدام." هذا موجود في SSMS ، ويمكن العثور عليه عن طريق فتح القسم في Explorer وتحديد "التحسين المستند إلى الاستخدام" من النقر بزر الماوس الأيمن قائمة طعام.

دليل الأداء يدخل في ضبط بمزيد من التفاصيل.

[~ # ~] mdx [~ # ~]

MDX يشبه إلى حد ما SQL ولكن يعمل بشكل مختلف جدًا. أطروحة حول "MDX لمبرمجي SQL" هي موضوع كامل في حد ذاته. أقترح قراءة بعض الدروس التعليمية و/أو الحصول على كتاب حولها. بالإضافة إلى ذلك ، يمكن للأشخاص الودودين هنا في dba.se المساعدة في الأسئلة إذا كان لديك أي منها.

ليس لدى MDX أي مفهوم لتصفية الصفوف. تحتوي اللغة على مجموعة كاملة من العمليات المحددة لتحديد ما يتم عرضه على محاور الاستعلام المختلفة1، بالإضافة إلى "SELECT". يمكنك استخدام عبارات with التي تشبه إلى حد ما CTE لتحديد المقاييس والمجموعات.

يمكن العثور على بعض موارد برمجة MDX التمهيدية هنا و هنا (هذه الموارد قديمة جدًا وطويلة جدًا). هناك أيضًا بعض الكتب الجيدة حول هذا الموضوع ؛ هذا SO) لديه الكثير من الموارد لموارد SSAS.

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

50
ConcernedOfTunbridgeWells

قد تحصل على بعض الإجابات المتعلقة بإدارة SSAS من هذا المستند التقني الطويل دليل عمليات خدمات تحليل SQL Server 2008 R2 . هكذا تبدأ المقدمة:

ستجد في هذا الدليل معلومات حول كيفية اختبار وتشغيل Microsoft SQL Server Analysis Services في SQL Server 2005 و SQL Server 2008 و SQL Server 2008 R2 في بيئة إنتاج. يركز هذا الدليل على كيفية اختبار مشاكل الإنتاج ومراقبتها وتشخيصها وإزالتها حتى على المكعبات الأكبر حجمًا. توفر هذه الورقة أيضًا إرشادات حول كيفية تكوين الخادم للحصول على أفضل أداء ممكن.

من الواضح أنها تستهدف DBA/المسؤولين. إذا قمت أيضًا بتطوير تطبيقات باستخدام SSAS ، يمكنك أيضًا إلقاء نظرة على الدليل التحليلي 2008 لخدمات أداء الدليل

6
DaniSQL