FIX: أداء بطيء يحدث في SQL Server 2008 R2 أو في SQL Server عام 2012 إذا استخدام CPU عالية هو ادعاء مر سبينلوك QUERY_EXEC_STATS

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

اضغط هنا لرابط المقالة باللغة الانجليزية2662301
تقوم Microsoft بتوزيع Microsoft SQL Server 2008 R2 الخدمة service Pack 1 (SP1) أو إصلاح Microsoft SQL Server عام 2012 في أحد الملفات القابلة للتحميل. لأن التراكمي الإصلاحات, كل إصدار جديد يحتوي على كافة الإصلاحات الضرورية وتحديث كافة تحديثات الأمان التي تم تضمين السابقة SQL Server 2008 R2 الخدمة service Pack 1 (SP1) أو Microsoft SQL Server 2012 الإفراج.
الأعراض
النظر في السيناريو التالي:
  • يمكنك تثبيت مثيل Microsoft SQL Server 2008 R2 أو Microsoft SQL Server عام 2012 على جهاز كمبيوتر.
  • يتم تنفيذ البيانات المتزامنة التي ليشابه التالية في المقام:
    CREATE PROC p AS RETURN (
    query
    ); EXEC p;
    أو، يمكنك تشغيل استعلام يحتوي على التعليمات البرمجية التالية:

    IF EXISTS(
    subquery
    );
  • استخدام CPU مرتفع باستمرار، وهي مؤشرات الترابط العمل في الدولة رونابل.
  • تزاحم ل QUERY_EXEC_STATS سبينلوك مرتفع.
    على سبيل المثال، عدد زيادة ونقصان والمصادمات المحتملة وقيم قبالة خلفية QUERY_EXEC_STATS بزيادة سبينلوك بسرعة.
    ملاحظة لمزيد من المعلومات حول كيفية مراقبة QUERY_EXEC_STATS سبينلوك، راجع قسم "مزيد من المعلومات".

في هذا السيناريو، قد تحدث بطء الأداء.

السبب
هذه المسألة لأن يحدث SQL Server 2008 R2 أو ينشئ SQL Server عام 2012 ويدمر بعض الهياكل الذاكرة حول الإحصاءات العالمية بدلاً من ذاكرة التخزين المؤقت هذه. وهذا يسبب اختناق أداء.
الحل

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

SQL Server 2012

اﻷول إصدار الإصلاح الخاص بهذه المشكلة في التحديث التراكمي 1 لعام 2012 في ملقم SQL. لمزيد من المعلومات حول حزمة التحديث التراكمي، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2679368 حزمة التحديث التراكمي 1 لعام 2012 في ملقم SQL
ملاحظة لأن التراكمي البنيات, كل إصدار إصلاح جديد يحتوي على كافة الإصلاحات العاجلة وإصلاح كافة تصحيحات الأمان الموجودة التي تم تضمين 2012 ملقم SQL السابقة الإصدار. توصي Microsoft بأن التفكير بتطبيق إصدار إصلاح الأحدث التي تحتوي على هذا الإصلاح العاجل. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2692828 ويبني 2012 ملقم SQL التي تم إصدارها بعد إصدار SQL Server 2012
يجب تطبيق إصلاح عاجل SQL Server 2012 إلى تثبيت SQL Server 2012.

حزمة التحديث التراكمي 5 ل SQL Server 2008 R2 SP1

اﻷول إصدار الإصلاح الخاص بهذه المشكلة في 5 التحديث التراكمية. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2008 R2 SP1، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2659694 حزمة التحديث التراكمي 5 ل SQL Server 2008 R2 SP1
ملاحظة لأن التراكمي البنيات, كل إصدار إصلاح جديد يحتوي على كافة الإصلاحات العاجلة وإصلاح كافة تصحيحات الأمان الموجودة التي تم تضمين السابقة SQL Server 2008 R2 SP1 الإصدار. ونحن ننصح بالتفكير تطبيق أحدث من الإصدار إصلاح الذي يحتوي على هذا الإصلاح العاجل. للحصول على مزيد من المعلومات، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2567616 ويبني R2 2008 ملقم SQL التي تم إصدارها بعد إصدار SQL Server 2008 R2 SP1
معلومات أخرى
لمراقبة سبينلوك QUERY_EXEC_STATS ، ضبط التأخير وعدد مرات التكرار كما يقتضي للبيئة الخاصة بك في التعليمة البرمجية التالية، ومن ثم إعادة تشغيله:

SET NOCOUNT ONCREATE TABLE #spins([Spinlock Name] varchar(50),Collisions numeric,Spins numeric,[Spins/Collision] float,[Sleep Time (ms)] numeric,Backoffs numeric, InsertTime datetime DEFAULT GETDATE())DECLARE @counter int = 1WHILE @counter < 10      BEGIN            INSERT INTO #spins ([Spinlock Name], Collisions, Spins, [Spins/Collision], [Sleep Time (ms)], Backoffs) EXECUTE ('DBCC SQLPERF (''SPINLOCKSTATS'') WITH NO_INFOMSGS')            WAITFOR DELAY '00:00:05'            SET @counter +=1      ENDSELECT * FROM #spins WHERE [Spinlock Name] = 'QUERY_EXEC_STATS' ORDER BY InsertTimeDROP TABLE #spins

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

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 2662301 - آخر مراجعة: 04/12/2012 08:08:00 - المراجعة: 1.0

Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard

  • kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2662301 KbMtar
تعليقات