الأعراض
افترض أنك تستخدم النسخ المتماثل للدمج في Microsoft SQL Server 2012 أو في Microsoft SQL Server 2014. كجزء من عملية المزامنة، يقوم عامل الدمج بإنشاء جيل جديد في جلسة عمل. إذا تم تحديد معاملة إنشاء معاملة إنشاء ضحية توقف تام لسبب ما، مثل حالة التوقف التام أو المهلة، وتم التراجع عن المعاملة، فقد تكون هناك سلسلة كبيرة من الحظر لقفل التطبيق MSinternal_makegeneration_inprog في عمليات صنع الجيل القادمة، ويتم عرض الجلسة المذكورة سابقا كعنوان حظر الرأس.
السبب
تأمين التطبيق المستخدم للمساعدة في تأمين عملية إنشاء جيل هو تأمين تطبيق على مستوى جلسة العمل. عند اكتشاف حالة توقف تام أثناء عملية إنشاء، يتم التراجع عن المعاملة فقط ولكن لا يتم تسجيل الخروج من الجلسة. لتحرير تأمين تطبيق على مستوى جلسة العمل، يجب أن يتم تسجيل دخول جلسة العمل. لذلك، بسبب تصميم منطق إعادة المحاولة (لن يتم تسجيل الخروج من الجلسة أثناء الإنشاء مما يجعل الفشل في النسخ المتماثل للدمج)، إذا فشل الجيل الأول في حالة التوقف التام، فلن يتم تحرير تأمين الجلسة (MSinternal_makegeneration_inprog) الذي تم الحصول عليه أثناء التراجع عن المعاملة. يؤدي هذا إلى حظر سلسلة طلبات التأمين في عملية إنشاء الجيل القادمة. يتم عرض مانع الرأس ليكون الجيل الأول الذي يقدم الطلب الذي يفشل مع حالة التوقف التام.
قبل الإصلاح العاجل، يقوم SQL Server بمسح التأمين فقط لعملية صنع جيل ناجحة. يترك تأمين تطبيق جلسة عمل معزول قبل تسجيل الخروج من جلسة العمل إذا حدث توقف تام.
الدقة
تم إصلاح هذه المشكلة أولا في التحديث التراكمي التالي SQL Server.
التحديث التراكمي 5 SQL Server 2014 /en-us/help/3011055
التحديث التراكمي 3 SQL Server 2012 SP2 /en-us/help/3002049
حول التحديثات التراكمية SQL Server
يحتوي كل تحديث تراكمي جديد SQL Server على جميع الإصلاحات العاجلة وجميع إصلاحات الأمان التي تم تضمينها مع التحديث التراكمي السابق. اطلع على آخر التحديثات التراكمية SQL Server:
الحالة
لقد أكدت Microsoft على أن هذه مشكلة في منتجات Microsoft المُدرجة في القسم "ينطبق على".