الأعراض
افترض ان لديك استعلام يقوم بتنفيذ بعض عمليات السلاسل علي سبيل المثال ، التسلسل ، في الاعمده التي تحتوي علي CHAR أو VARCHAR في Microsoft SQL Server 2014 و 2016 و 2017. اطّلع على السيناريو التالي:
-
يمكنك سلسله الاعمده باستخدام عمليات ترتيب مختلفه تم تعيينها لها.
-
لا تتوافق هذه الترتيبات مع بعضها البعض. علي سبيل المثال ، تحاول سلسله عمود تمت المرتب به كLatin1_General_CI_AI باستخدام Latin1_General_BIN.
-
يتم تعيين النتيجة النهائية لهذه السلسلة إلى ترتيب معين (بما في ذلك "database_default") بصرف النظر عن حل تعارض الترتيب.
في هذا السيناريو ، قد يرجع SQL Server تاكيد بيع بالتجزئة الذي ينص علي "مقارنه غير صالحه بسبب عدم الترتيب" ، وقد تظهر بعض رسائل الخطا المشابهة لما يلي:
الموقع: تيبينفو:لينينومبير تعبير: false SPID: SPID معرف العملية: بروسيسيد الوصف: مقارنه غير صالحه بسبب عدم الترتيب.
الرسالة 3624 ، المستوي 20 ، الولاية 1 ، الخط اللينينومبير فشل التحقق من تاكيد النظام. راجع سجل أخطاء SQL Server للحصول علي التفاصيل. بشكل عام ، حدث فشل في التاكيد بسبب وجود خطا في البرنامج أو تلف في البيانات. للتحقق من وجود تلف في قاعده البيانات ، ضع في اعتبارك تشغيل تشيكدب DBCC. إذا قمت بالموافقة علي إرسال التفريغات إلى Microsoft اثناء الاعداد ، سيتم إرسال التفريغ المصغر إلى Microsoft. قد يتوفر تحديث من Microsoft في أحدث حزمه خدمه أو في إصلاح عاجل من الدعم التقني.
الرسالة 596 ، المستوي 21 ، الولاية 1 ، الخط اللينينومبير لا يمكن متابعه التنفيذ لان جلسة العمل في حاله الإنهاء.
الرسالة 0 ، المستوي 20 ، الولاية 0 ، الخط لينينومبير
حدث خطا هام في الأمر الحالي. يجب تجاهل النتائج ، إذا كانت هناك.
السبب
اثناء مرحله تحسين الاستعلام ، يحاول SQL Server حساب كارديناليتيس علي النتائج المتوسطة لعده مراحل من الاستعلام ، علي سبيل المثال ، السلسلة. نظرا لأنه يتم تنفيذ حل تعارض الترتيب في النهاية المناسبة ، فقد يكون محسن الاستعلام غير قابل للتاكد منه ويحاول تنفيذ عمليه حساب العلاقة الاساسيه السلسلة علي إدخال باستخدام ترتيب كونفليكتيد.
الحل
تم تصحيح هذه المشكلة في التحديثات التراكمية التالية ل SQL Server:
تحديث تراكمي 8 ل SQL Server 2016 SP1
يحتوي كل تحديث تراكمي جديد ل SQL Server علي كل الإصلاحات العاجلة وكل تصحيحات الأمان التي تم تضمينها في التحديث التراكمي السابق. اطلع علي آخر التحديثات التراكمية ل SQL Server:
آخر تحديث تراكمي ل SQL Server 2016
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف علي المصطلحاتالتي تستخدمها Microsoft لوصف تحديثات البرامج.