KB4502400 - تصحيح: لا تنفذ SQL Server 2014 و2016 و2017 تعيينات الصف المسبق المطلوبة عند استخدام عبارة MERGE التي تنفذ تعيينات للمتغيرات المحلية لكل صف

ينطبق على
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 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

الأعراض

لنفترض أنك تستخدم جملة MERGE لمعرفة عدد الصفوف غير المتطابقة حسب المصدر وتخزينها في متغير محلي كما يلي:

DECLARE
  @NotMatchedBySource INT = 0;

دمج TargetTable باستخدام SourceTable ON TargetTable.id = SourceTable.id
عندما لا يتطابق مع المصدر حينئذ
  مجموعة التحديث @NotMatchedBySource = @NotMatchedBySource + 1؛

طباعة @NotMatchedBySource؛
اذهب

في هذه الحالة، قد تلاحظ أن قيمة @NotMatchedBySource بعد عبارة MERGE قد لا تعكس العدد الفعلي للصفوف التي لم تتطابق مع المصدر.

الحالة

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

الدقة

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

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

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

المراجع

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