KB4512151 - إصلاح: يحدث انتهاك الوصول عند استخدام الدالة LOG مع استعلام عن بعد في SQL Server 2016 و2017

ينطبق على
SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2017 Standard Windows SQL Server 2017 Standard Linux

الأعراض

يُرجى مراعاة السيناريو التالي:

  • يمكنك إنشاء خادم مرتبط في Microsoft SQL Server 2016 أو 2017 يشير إلى مثيل بعيد من SQL Server 2012 أو الإصدارات الأحدث.
  • تريد استخدام الدالة LOG() دون تحديد أساس اللوغاريتم بشكل صريح (لحساب خوارزمية طبيعية).

عند تشغيل استعلام يستدعي LOG() بوسيطة تشير إلى جدول بعيد، فقد يحدث خطأ انتهاك الوصول في ظل ظروف معينة (على سبيل المثال: إذا كان الاستعلام يستخدم UNION ودالة تجميعية مثل SUM()).

بالإضافة إلى ذلك، يتم إنشاء ملف تفريغ على المثيل المحلي.

Msg 596، المستوى 21، الحالة 1، رقم سطر السطر

لا يمكن متابعة التنفيذ لأن الجلسة في حالة القتل.

رسالة 0، المستوى 20، الحالة 0، رقم سطر السطر

حدث خطأ خطير في الأمر الحالي.  يجب تجاهل النتائج، إن وجدت.

الحالة

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

الدقة

تم تصحيح هذه المشكلة في التحديثات التراكمية التالية ل SQL Server:

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

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

المراجع

تعرّف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.