تصحيح: عند تشغيل استعلام الذي يستخدم تلميح NOLOCK الجدول في SQL Server 2005 أو في SQL Server 2008 لاسترداد بيانات BLOB، الاستعلام يعمل ببطء شديد

تقوم Microsoft بتوزيع الإصلاحات Microsoft SQL Server 2005 كأحد الملفات القابلة للتحميل. لأن الإصلاحات التراكمي، كل إصدار جديد يحتوي على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة.
تقوم Microsoft بتوزيع الإصلاحات Microsoft SQL Server 2008 كأحد الملفات القابلة للتنزيل. لأن الإصلاحات التراكمي، كل إصدار جديد يحتوي على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2008 السابقة.

الأعراض

لديك استعلام يستخدم تلميح جدول NOLOCK في Microsoft SQL Server 2005 أو في Microsoft SQL Server 2008. يقرأ الاستعلام البيانات كائن ثنائي كبير (BLOB) أحد الأنواع التالية من البيانات من جدول كبير:
  • نوع بيانات نص
  • نوع بيانات nText
  • نوع بيانات الصورة
عند تشغيل الاستعلام، يتم تشغيل الاستعلام ببطء شديد. إذا قمت نشاط القرص الذي يقوم بإنشاء الاستعلام، لاحظت أن عدد عمليات القراءة المنطقي مرتفع جداً.

ملاحظة: لعرض أنشطة القرص، تشغيل الاستعلام باستخدام جملة ON تعيين IO الإحصائيات.

السبب

عندما يقرأ الاستعلام الذي يستخدم تلميح NOLOCK جدول بيانات BLOB، SQL Server بالتحقق من أنه يتم تخصيص كل صفحة البيانات الثنائية الكبيرة عن طريق فحص مخطط توزيع الفهرس المطابق (أيام). يتم إدارة الهوية قائمة توزيع الصفحات مرتبطة. يتسع كل صفحة إدارة الهوية حوالي 4 غيغابايت من البيانات (حجم الصفحة 8 كيلوبايت * 8 صفحات * النطاقات 64.000). إذا كان الكائن كبير، عملية التحقق قد يؤدي إلى القراءة المنطقي المفرط.

على سبيل المثال، لديك كائن كبير الذي يتم تعيينه إلى مجموعة ملفات. الحجم الإجمالي للملفات الموجودة في مجموعة الملفات هو 700 جيجابايت. في هذه الحالة، يمكن أن تحتوي إدارة الهوية لهذا الكائن على صفحات يصل إلى 175. إذا الآن تشغيل استعلام على هذا الكائن باستخدام تلميح NOLOCK الجدول والاستعلام يصل إلى 10000 صفحات BLOB، سيكون عدد القراءات المنطقية المتعلقة بصفحات إدارة الهوية 175 * 10000 = 1,750,000 في أسوأ الحالات. SQL Server العثور على صفحة إدارة الهوية المطابقة بالعبور نصف القائمة المرتبطة، سيكون متوسط عدد القراءات المنطقية المتعلقة بإدارة الهوية صفحات تقريبا 1,750,000/2 = 875,000. هذا عال جداً حمل تحملها لاستعلام للوصول إلى صفحات النقطة 10000.

الحل

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

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 3 ل SQL Server 2005 Service Pack 3. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2005، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
967909 التراكمية تحديث حزمة 3 ل SQL Server 2005 Service Pack 3
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة. نوصي بأن تنظر في تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
960598 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 3

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

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في 5 التحديث التراكمي ل SQL Server 2008. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2008، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
969531 التراكمية حزمة 5 تحديث ل SQL Server 2008
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2008 السابقة. نوصي بأن تنظر في تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
956909 بناء SQL Server 2008 التي تم إصدارها بعد إصدار SQL Server 2008

الحالة

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

مزيد من المعلومات

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

لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
967909 التراكمية تحديث حزمة 3 ل SQL Server 2005 Service Pack 3
لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
969531 التراكمية حزمة 5 تحديث ل SQL Server 2008

المراجع

لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد SQL Server 2005 Service Pack 3، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

960598 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 3

لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد SQL Server 2008، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

956909 بناء SQL Server 2008 التي تم إصدارها بعد إصدار SQL Server 2008

لمزيد من المعلومات حول "نموذج تقديم تزايدي" ل SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

935897 "نموذج تقديم تزايدي" يتوفر من فريق SQL Server لتسليم الإصلاحات العاجلة للمشاكل التي تم الإبلاغ عنها

لمزيد من المعلومات حول مخطط التسمية لتحديثات SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

حزم تحديث مخطط تسمية جديدة 822499 لبرامج Microsoft SQL Server

لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقال التالي لعرضه في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft
خصائص

رقم الموضوع: 961049 - آخر مراجعة: 14‏/01‏/2017 - المراجعة: 1

تعليقات