تصحيح: فهرس متفاوت المسافات احتمال تلف عند تشغيل عبارة UPDATE معقدة مع تلميح NOLOCK مقابل جدول في SQL Server

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

اضغط هنا لرابط المقالة باللغة الانجليزية2878968
الأعراض
عند تشغيل عبارة UPDATE معقدة مع تلميح NOLOCK مقابل جدول في Microsoft SQL Server 2008 أو SQL Server 2012، SQL Server 2008 R2 أو SQL Server 2014، قد يحدث تلف في فهرس متفاوت المسافات. بالإضافة إلى ذلك، قد يتم تسجيل رسالة الخطأ التالية في سجل أخطاء SQL Server:

تاريخ>الوقت> spid خطأ #: 8646، خطورة: حالة 21,: 1.
تاريخ>الوقت> spid # يتعذر العثور على إدخال الفهرسة في الفهرس معرف 3، الجدول 2102402659، في قاعدة بيانات 'اسم قاعدة البيانات>'. الفهرس المحدد معطوب أو هناك مشكلة في خطة التحديث الحالي. قم بتشغيل DBCC CHECKDB أو DBCC CHECKTABLE. إذا استمرت المشكلة، اتصل بدعم المنتج.
تاريخ>الوقت> spid # Using 'dbghelp.dll' الإصدار '4.0.5'
تاريخ>الوقت> spid # * * تفريغ مؤشر الترابط-spid = 0، EC = 0x0000000BD70624C0
تاريخ>الوقت> spid # * "تفريغ المكدس" يتم إرسالها إلى Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
تاريخ>الوقت> spid # *
تاريخ>الوقت> spid # * "بدء تفريغ المكدس":
تاريخ>الوقت> spid # * تاريخ>الوقت> spid #
تاريخ>الوقت> spid # *
تاريخ>الوقت> spid # * CPerIndexMetaQS::ErrorAbort-تلف الفهرس
تاريخ>الوقت> spid # *

ملاحظة
يمكنك تطبيق تلميح NOLOCK جداول المصدر في بيان. ومع ذلك، لا يمكنك تطبيق تلميح NOLOCK بهدف الجداول في عبارة.

السبب
تحدث هذه المشكلة نظراً لأن يؤدي تلميح NOLOCK الاستعلام لقراءة القيم في الجدول بشكل غير صحيح عند قراءة الاستعلام نفس قيم عدة مرات.
الحل
تم تصحيح هذه المشكلة أولاً في التحديث التراكمي التالية من SQL Server.

التحديث التراكمي 1 ل SQL Server 2014

التحديث التراكمي 11 ل SQL Server 2012

التحديث التراكمي 7 ل SQL Server 2012 SP1

التحديث التراكمي 13 ل SQL Server 2008 SP3

التحديث التراكمي 9 ل SQL Server 2008 R2 SP2

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

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

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

خصائص

رقم الموضوع: 2878968 - آخر مراجعة: 04/22/2014 23:11:00 - المراجعة: 5.0

Microsoft SQL Server 2008 Service Pack 3, 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 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

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