KB3196102 - إصلاح: مشاكل الأداء الناجمة عن النمو المستمر للذاكرة في SQL Server 2016 Analysis Services

ينطبق على
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

الأعراض

لنفترض أنك تستخدم مثيلا من Microsoft SQL Server 2016 Analysis Services. بينما يتم تخزين المزيد والمزيد من كائنات النطاق العام مؤقتا، لا يتم تنظيف ذاكرات التخزين المؤقت تلك مطلقا. وقد يؤدي هذا إلى استمرار نمو الذاكرة وفي النهاية قد يتعطل الخادم.

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

  • لديك تعبيرات ديناميكية (على سبيل المثال، UserName() وCustomData()) في النموذج. هذا ليس إلزاميا لرؤية المشكلة ، ولكنه سبب شائع. عند وجود تعبيرات ديناميكية، يحتاج كل مستخدم فريد إلى إنشاء نطاقه العام الفريد. يتسبب هذا في زيادة كبيرة في عدد النطاقات العمومية التي يجب إنشاؤها وتخزينها مؤقتا.
  • لديك نموذج معقد يتضمن الكثير من بيانات التعريف والأمان. يؤثر هذا على تكلفة الذاكرة لكل عنصر نطاق. مع زيادة عدد النطاقات العمومية المخزنة مؤقتا، يزداد بصمة الذاكرة بالاستناد إلى تكلفة الذاكرة لكل عنصر نطاق.
  • لديك الكثير من المستخدمين الفريدين المتصلين بالخادم. على سبيل المثال، قد يقوم PowerBI.com بتحديث اللوحات في لوحة المعلومات الخاصة به لكل مستخدم وفقا لجدول زمني متكرر. عندما يحدث ذلك، تتلقى Analysis Services الكثير من الاتصالات والاستعلامات لكل مستخدم فريد ويزيد عدد النطاقات العامة ويستهلك الكثير من الذاكرة.

ملاحظة: بعد تطبيق هذا الإصلاح العاجل، سيكون إصدار SQL Server 13.0.2170.0.

الدقة

معلومات التحديث التراكمي

تم تضمين تصحيح لهذه المشكلة في التحديث التراكمي التالي ل SQL Server:

حول التحديثات التراكمية ل SQL Server

يحتوي كل تحديث تراكمي جديد ل SQL Server على جميع الإصلاحات العاجلة وجميع إصلاحات الأمان التي كانت مضمنة في التحديث التراكمي السابق. تحقق من آخر التحديثات التراكمية ل SQL Server:

التحديث التراكمي الأخير ل SQL Server 2016
      

      

الحل البديل

لحل هذه المشكلة، قم بتشغيل <أمر ClearCache> XMLA يدويا إلى قاعدة البيانات وفقا لجدول زمني مناسب. سيسمح هذا بمسح كل ذاكرات التخزين المؤقت ذات النطاق العمومي وستقل الذاكرة مرة أخرى. سيؤدي هذا الخيار إلى بعض تكاليف الأداء عند الاتصال في المرة القادمة لأنك لن تكون قادرا على إعادة استخدام النطاق العام المخزن مؤقتا.

الحالة

لقد أكدت Microsoft على أن هذه مشكلة في منتجات Microsoft المُدرجة في القسم "ينطبق على".

المراجع

تعرّف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.