الأعراض
عند تشغيل جمله UPDATE المعقدة مع تلميح نولوك مقابل جدول في Microsoft SQL Server 2008 أو SQL Server 2012 أو sql SERVER 2008 R2 أو sql server 2014 ، قد يحدث عطب في الفهرس نونكلوستيريد. بالاضافه إلى ذلك ، قد يتم تسجيل رسالة الخطا التالية في سجل أخطاء SQL Server:
<التاريخ><الوقت> spid # Error: 8646 ، الخطورة: 21 ، الولاية: 1. <التاريخ><الوقت> spid # تعذر العثور علي إدخال فهرس في معرف الفهرس 3 ، الجدول 2102402659 ، في قاعده البيانات ' <DatabaseName> '. الفهرس المشار اليه تالف أو توجد مشكله في خطه التحديث الحالية. شغل تشيكدب أو DBCC تشيكتابلي. إذا استمرت المشكلة ، فاتصل بدعم المنتج. <التاريخ><الوقت> spid # باستخدام الإصدار ' 4.0.5 ' <التاريخ><الوقت> Spid = 0x0000000bd70624c0<التاريخ><الوقت> spid # * * * يتم إرسال تفريغ المكدس إلى Y:\MSSQL\MSSQL10. MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 التاريخ><الوقت> spid # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Time * * <Dateالتاريخ><الوقت> spid # * ال><> <التاريخ><ال> ال<التاريخ><ال> في <Dateالوقت>< "spid # * Date كبيرينديكسميتاقس:" = = = = = = = = * =: <ارورابورت-تلف في الفهرس><0 التاريخ><الوقت> spid # * Time
ملاحظه يمكنك تطبيق تلميح نولوك علي الجداول المصدر في عبارة. ومع ذلك ، لا يمكنك تطبيق تلميح نولوك علي الجداول المستهدفة في عبارة.
السبب
تحدث هذه المشكلة لان تلميح نولوك يسبب قراءه الاستعلام بشكل غير صحيح في الجدول عندما يقرا الاستعلام القيم نفسها عده مرات.
الحل
تم تصحيح المشكلة أولا في التحديث التراكمي التالي ل SQL Server.
تحديث تراكمي 1 ل SQL Server 2014 /en-us/help/2931693
تحديث تراكمي 11 ل SQL Server 2012 /en-us/help/2908007
تحديث تراكمي 7 ل SQL Server 2012 SP1 /en-us/help/2894115
تحديث تراكمي 13 for SQL Server 2008 SP3 /en-us/help/2880350
تحديث تراكمي 9 ل SQL Server 2008 R2 SP2 /en-us/help/2887606
يحتوي كل تحديث تراكمي جديد ل SQL Server علي كل الإصلاحات العاجلة وكل تصحيحات الأمان التي تم تضمينها في التحديث التراكمي السابق. اطلع علي آخر التحديثات التراكمية ل SQL Server:
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".