الأعراض
أثناء مزامنة النسخ المتماثل للدمج في Microsoft SQL Server 2008 والإصدارات الأحدث من SQL Server، قد يفشل عامل الدمج. بالإضافة إلى ذلك، ستتلقى رسالة الخطأ التالية:
ملاحظة
فشل عامل الدمج بعد اكتشاف أن تنظيف بيانات التعريف المستند إلى الاستبقاء قد حذف بيانات التعريف لدى المشترك للتغييرات التي لم يتم إرسالها بعد إلى الناشر. يجب إعادة تهيئة الاشتراك (بدون تحميل). (المصدر: MSSQL_REPL، رقم الخطأ: MSSQL_REPL-2147199401)
الحصول على تعليمات: http://help/MSSQL_REPL-2147199401
قد تحدث هذه المشكلة لأسباب متعددة. وتشمل هذه الأسباب العديد من الأسباب المتوقعة في ظل ظروف معينة. لتحديد ما إذا كنت قد واجهت هذا الخطأ بشكل غير متوقع، افحص تفاصيل بيانات التعريف الموضحة في قسم "السبب".
السبب
يمكن العثور على سبب هذه المشكلة في جداول النظام التالية الخاصة بالمشترك:
- dbo.sysMergeSubscriptions
- dbo. MsMerge_Genhistory
تأكد من أن عامل الدمج لم يعد تتم مزامنته. ثم قم بتشغيل الاستعلام التالي، وفحص النتائج:
حدد sentgen من SubscriberDB.dbo.sysMergeSubscriptions حيث pubid = subid وsentgen ليست فارغة
يمثل عمود sentgen أقدم مجموعة من التغييرات التي أرسلها المشترك إلى الناشر. إذا تم إرجاع قيم متعددة، فافحص الأعمدة الأخرى في الجدول dbo.sysMergeSubscriptions للتأكد من عرض بيانات التعريف الخاصة بالمنشور الصحيح. بعد ذلك، استخدم القيمة التي يرجعها هذا الاستعلام في الاستعلام التالي:
تحديد أفضل 20 * من SubscriberDB.dbo.MSmerge_genhistory حيث الجيل >= sentgen_value ترتيب حسب الجيليجب أن تشبه إخراج الاستعلام ما يلي:
قد تواجه هذا الخطأ بشكل غير متوقع عندما تكون كل الحالات التالية صحيحة:
- إن القيمة في عمود "التوليد " في الصف الأول أكبر بقليل من قيمة sentgen في الاستعلام السابق.
- القيمة في عمود genstatus هي 4.
- القيمة في عمود عدد التغيير هي 0.
ملاحظة كما أن قيمة عمود الترتيب في الصف الأول هي أيضا عادة أقدم بكثير من قيمة ذلك العمود في الصفوف الأخرى.
الدقة
لحل هذه المشكلة، أعد تهيئة المشترك الذي أنتج الخطأ.
في بعض السيناريوهات، قد تتمكن من حل هذه المشكلة من دون إعادة تهيئة كاملة. اتصل بخدمات دعم عملاء Microsoft للحصول على معلومات حول حل بديل محتمل.
لمنع تكرار هذه المشكلة في المستقبل، قم بتطبيق أحد الإصلاحات التالية، استنادا إلى إصدار SQL Server الخاص بك.
معلومات التحديث التراكمي
SQL Server 2008
لا يوجد أي حل لهذه المشكلة في SQL Server 2008.
SQL Server 2008 R2 حزمة الخدمة 2
تم إصدار تصحيح لهذه المشكلة لأول مرة في التحديث التراكمي 3. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه ل SQL Server 2008 R2 Service Pack 2، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2754552 حزمة التحديث التراكمي 3 ل SQL Server 2008 R2 Service Pack 2
ملاحظة نظرا لأن الإصدارات تراكمية، يحتوي كل إصدار إصلاح جديد على جميع الإصلاحات العاجلة وجميع إصلاحات الأمان التي كانت مضمنة في إصدار إصلاح حزمة الخدمة 2 من SQL Server 2008 R2. نوصي بتطبيق أحدث إصدار تصحيح يحتوي على هذا الإصلاح العاجل في الاعتبار. للمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2730301 إصدارات SQL Server 2008 R2 التي تم إصدارها بعد إصدار SQL Server 2008 R2 Service Pack 2
SQL Server 2012
تم إصدار تصحيح لهذه المشكلة لأول مرة في التحديث التراكمي 4. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه ل SQL Server 2012، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2758687 حزمة التحديث التراكمي 4 ل SQL Server 2012
ملاحظة نظرا لأن الإصدارات تراكمية، يحتوي كل إصدار إصلاح جديد على كل الإصلاحات العاجلة وكل إصلاحات الأمان التي كانت مضمنة في إصدار تصحيح SQL Server 2012 السابق. نوصي بتطبيق أحدث إصدار تصحيح يحتوي على هذا الإصلاح العاجل في الاعتبار. للمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2692828 إصدارات SQL Server 2012 التي تم إصدارها بعد إصدار SQL Server 2012
حزمة الخدمة 1 ل SQL Server 2008 R2
تم إصدار تصحيح هذه المشكلة لأول مرة في التحديث التراكمي 8. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه ل SQL Server 2008 R2 Service Pack 1، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2723743 حزمة التحديث التراكمي 8 ل SQL Server 2008 R2 SP1Note نظرا لأن الإصدارات تراكمية، يحتوي كل إصدار إصلاح جديد على جميع الإصلاحات العاجلة وكل إصلاحات الأمان التي كانت مضمنة في إصدار إصلاح SQL Server 2008 R2 Service Pack 1 السابق. نوصي بتطبيق أحدث إصدار تصحيح يحتوي على هذا الإصلاح العاجل في الاعتبار. للمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2567616 إصدارات SQL Server 2008 R2 التي تم إصدارها بعد إصدار SQL Server 2008 R2 SP1