الأعراض
افترض انك تقوم بتشغيل استعلام يقوم بتحميل البيانات باستخدام عبارة INSERT المجمعة في جدول يحتوي علي كل من فهرس نونكلوستيريد كولومنستوري وفهرس كولومنستوري متفاوت البعد في SQL Server 2016 و 2017. إذا تم تشغيل الاستعلام في الوقت نفسه عبر اتصالات متعددة وكان SQL Server لا يمنح ذاكره كافيه لبعض الاتصالات ، فقد تفشل عمليه الادراج المجمع ، وتتلقي أخطاء التاكيد المشابهة لما يلي:
الخطا: 17066 ، الخطورة: 16 ، الحالة: 1.
تاكيد SQL Server: ملف: < قسوبداتي> ، السطر = 902 فشل التاكيد = ' nullptr! = m_prsBulkInPhases '. قد يكون هذا الخطا مرتبطا بالتوقيت. إذا استمر الخطا بعد أعاده تشغيل العبارة ، فاستخدم DBCC تشيكدب للتحقق من صحة قاعده البيانات للحصول علي تكامل البناء ، أو أعد تشغيل الخادم للتاكد من ان بني البيانات الموجودة في الذاكرة غير تالفة.
الخطا: 3624 ، الخطورة: 20 ، الولاية: 1.
فشل التحقق من تاكيد النظام. راجع سجل أخطاء SQL Server للحصول علي التفاصيل. بشكل عام ، حدث فشل في التاكيد بسبب وجود خطا في البرنامج أو تلف في البيانات. للتحقق من وجود تلف في قاعده البيانات ، ضع في اعتبارك تشغيل تشيكدب DBCC. إذا قمت بالموافقة علي إرسال التفريغات إلى Microsoft اثناء الاعداد ، سيتم إرسال التفريغ المصغر إلى Microsoft. قد يتوفر تحديث من Microsoft في أحدث حزمه خدمه أو في إصلاح عاجل من الدعم التقني.
بالاضافه إلى ذلك ، يتم إنشاء ملف تفريغ بواسطة SQL Server.
الحل
هذا الإصلاح مضمن في التحديثات التراكمية التالية ل SQL Server:
تحديث تراكمي 6 ل SQL Server 2017
تحديث تراكمي 8 ل SQL Server 2016 service Pack 1.
حول إصدارات SQL Server
تحتوي كل بنيه جديده ل SQL Server 2016 علي كل تصحيحات الإصلاحات والأمان التي كانت موجودة في النسخة السابقة. نوصي بتثبيت آخر التحديثات التراكمية ل SQL Server:
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف علي المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.