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

الأعراض

عند تشغيل تحديث على جدول يحتوي على فهرس متفاوت المسافات أو فريد ويحدث التحديث على عمود فريد غير أساسي، يكون سجل تعقب التغييرات غير متوافق مع عبارة التحديث.

على سبيل المثال، افترض أن العمود المسمى "column1" مضمن في الفهرس المجمع أو الفريد. عند تغيير قيمة العمود من قيمة أكبر إلى أصغر (مثل تغيير القيمة من 20 إلى 16)، يتلقى الجدول الجانبي لتعقب التغييرات عملية الإدراج قبل عملية الحذف. على سبيل المثال، يتم تلقي عملية إدراج سجل صف في سجل المعاملات قبل عملية حذف الصف، أو يتم إدراج "I" قبل "D".

Sys_change_version

sys_change_create_version

sys_change_operation

sys_change_column

sys_change_context

PK_column

1116

19

I

فارغه

فارغه

5639485628

1116

20

د

فارغه

فارغه

5639485628


عند تغيير قيمة العمود من قيمة أصغر إلى أكبر (مثل تغيير القيمة من 16 إلى 20)، يتم إدراج "D" قبل "I".

Sys_change_version

sys_change_create_version

sys_change_operation

sys_change_column

sys_change_context

PK_column

1126

32

د

فارغه

فارغه

5639485628

1126

33

I

فارغه

فارغه

5639485628

السبب

تحدث هذه المشكلة بسبب الترتيب غير الصحيح بين أزواج الحذف/الإدراج في الجدول الجانبي لتعقب التغييرات.

الحل

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

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

         التحديث التراكمي 9 لحزمة خدمة SQL Server 2016 1

تحديث تراكمي 12 ل SQL Server 2014 SP2

حول إصدارات SQL Server

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

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

أحدث إصدار SQL Server 2016

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

الحالة

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

مزيد من المعلومات

بالنسبة لجدول تم تمكين تعقب التغييرات، عند حدوث تحديث على عمود غير أساسي تم تعريفه ليكون فريدا، يتم إدراج إدخالين في الجدول الجانبي لتعقب التغييرات: إدخال واحد لكل إجراء من إجراءات التقسيم، إدراج وحذف.

عند استدعاء الدالة CHANGETABLE لتعداد التغييرات، يتم فرز هذه الإدخالات حسب قيم المفتاح الأساسي، ثم يتم تجميع العمليات. إذا أدرج التحديث قيمة أقل، يتم تشغيل عملية "I" على الجدول الجانبي أولا، متبوعا بعملية "D". يؤدي ذلك إلى إرجاع عملية غير صحيحة لهذا الصف. وذلك لأن "I" التي تتبع "D" مجمعة على أنها "D".

نظرا إلى أنه يتم الاحتفاظ بقيم المفتاح الأساسي فقط في الجداول الجانبية، فليس من الضروري وجود إدخالين منفصلين. هذا صحيح طالما لم يتم تحديث عمود المفتاح الأساسي.

تم تصحيح هذه المشكلة للأعمدة الفريدة غير الأساسية. في هذه الحالة، عند حدوث التحديث، يتم إدراج صف واحد فقط عن طريق وجود "U" كعمليات تحديث بدلا من إدخالين يحتويان على "D" و"I".

المراجع

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

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

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

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

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

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

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

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

×