تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

الأعراض

افترض أنك تستخدم Microsoft SQL Server 2016 أو 2017. عند معالجة معاملات البيانات المحسنة للذاكرة باستخدام متغيرات الجدول المحسنة للذاكرة مع عبارة where exists ، قد تحصل على نتيجة خاطئة.

على سبيل المثال:

الخطوة 1: إنشاء قاعدة بيانات وجدول محسن للذاكرة.

إنشاء عرض توضيحي لقاعدة البيانات

عرض توضيحي ل ALTER DATABASE ADD FILEGROUP demo_mod يحتوي على MEMORY_OPTIMIZED_DATA 

العرض التوضيحي ALTER DATABASE ADD FILE (name='demo_mod1', filename='C:\DATA\demo_mod1') to FILEGROUP demo_mod 

استخدام العرض التوضيحي

الذهاب

CREATE TYPE dbo. IN_MEMORY_TABLE_TYPE AS TABLE

( source_col INT NULL،

target_col INT ليس NULL

فهرس ix_InMemoryTable غير متفاوت المسافات (target_col)

) مع (MEMORY_OPTIMIZED = ON)

الذهاب

الخطوة 2: إدراج البيانات وتحديث البيانات.

DECLARE @t dbo. IN_MEMORY_TABLE_TYPE

INSERT @t ( source_col, target_col ) VALUES (10, 0),(0, 0)

حدد * من @t

UPDATE r1 SET target_col = -1 FROM @t r1

WHERE EXISTS ( SELECT * FROM @t r2 WHERE r2.source_col > 0 )

SELECT * FROM @t

الذهاب

الخطوة 3: تحقق من النتائج.

النتائج الفعلية: لا يتم تحديث كافة صفوف متغير الجدول @t .

source_col | target_col

----------------------

10 | -1

0 | 0

النتائج المتوقعة: يجب تحديث جميع الصفوف للحصول على target_col = -1.

source_col | target_col

----------------------

10 | -1

0 | -1.

الحل

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

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

      التحديث التراكمي 5 SQL Server 2016 SP1

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

آخر تحديث تراكمي SQL Server 2017

آخر التحديثات التراكمية SQL Server 2016

الحالة

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

المراجع

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

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×