Sync Nightmare - هل من الممكن استخدام دمج النسخ المتماثل (أو RDA) بين مثيلات SQL CE دون IIS؟

StackOverflow https://stackoverflow.com/questions/1291346

سؤال

نواجه المشكلة التالية التي تتضمن الحفاظ على ما يلي في المزامنة:

  • 1 خادم مركزية (IIS / MSSQL 2005)
  • العديد من عملاء سطح المكتب WPF الموزع من قبل ClickOnce
  • العديد من العملاء المتنقلين - (Windows CE)

نص Alt http://img502.imageshack.us/img502/8246/deplation.png.

مع هذه القيود الشائكة:

  • جميع علاقات المزامنة هي ثنائية الاتجاه
  • تتطلب العقد سطح المكتب والجوال وضع غير متصل
  • لا يمكن لمزامنة العقد المحمولة مع الخادم المركزي ولكنها تتم مزامنتها مع عقد سطح المكتب عبر USB. تعمل عقد سطح المكتب كخادم للعملاء المحمول، وليس الخادم المركزي. ثم تحتاج التحديثات من العقد المحمولة إلى الانتشار إلى الخادم المركزي بحكم المزامنة مع سطح المكتب، ثم مزامنة سطح المكتب مع الخادم المركزي. بعث.

مقرف.

لمزامنة سطح المكتب والخادم الذي نعرفه، يمكننا استخدام دمج النسخ المتماثل - الخادم كونه موفر، سطح المكتب كمشترك، كل شيء جيد. ولكن ماذا عن مزامنة العقد المحمول وسطح المكتب؟ على ما يبدو لا يمكن أن يكون سطح المكتب ناشر بدون SQL Server + ISS، أليس كذلك؟ يمكننا فقط نشر MSSQL CE إلى سطح المكتب.

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

نحاول تحديد ما إذا كان بإمكاننا القضاء على RDA أو دمج النسخ المتماثل كحل ممكن - إذا كان الأمر كذلك، فربما نسعى إلى إطار MS Sync Framework.

ربما هناك تقنيات أخرى يمكن أن ننظر فيها؟

شكرا لكم جميعا،

اشلي

تحديث: لقد بدأنا للتوء اللعب مع إطار MS Sync و IT Rocks!

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

المحلول

لأسباب غير مرتبطة مباشرة بسؤالك المحدد، أعتقد أنه يمكنك المضي قدما والقضاء على RDA / دمج النسخ المتماثل كحل ممكن. لا تعلن Microsoft عن هذا (لأسباب واضحة)، ولكن دمج النسخ المتماثل لا تعتمد موثوقة بنسبة 100٪ في ظل ظروف حيث يمكن إسقاط اتصال الشبكة في منتصف عملية النسخ المتماثل (الذي يحدث بشكل متكرر مع عملاء Windows Mobile).

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

ربما تم إصلاح هذه المشكلة في الإصدارات الحديثة من RDA (حدثت مشكلتنا بأحدث إصدار 2 سنوات)، لكنني لن أعرف أبدا (بمجرد عض مرتين خجولة).

تحديث: بالمناسبة، كان لدي الكثير من الأشخاص الذين تحدثت إليهم حول هذا (بما في ذلك Microsoft Support Techs) ينكرون أن هذا قد يكون صحيحا، ولكن من السهل التحقق من ذلك: إضافة مجموعة من البيانات على العميل، ثم بدء النسخ المتماثل، ثم yank كبل USB من الجهاز (على افتراض أن عميلك هو نظام التشغيل Windows Mobile يربط من خلال ActiveSync) أثناء وجوده في منتصف هذا.

إذا كنت تبدو قليلا، فقد كان ذلك جزئيا لأن هذا كان ما أجبرته التكنولوجيا السيدة في النهاية على القول (الاقتباس الفعلي): "حسنا، ما عليك سوى الحفاظ على النسخ المتماثل - ستدمج البيانات في نهاية المطاف".

نصائح أخرى

تفحص ال سيناريوهات التعاون (نظير إلى نظير) في Microsoft Framework 2.0. شمل مقدمي الخدمات هناك يسمحين بقواعد بيانات مدمجة SQL Server مباشرة. إنهم قادرون أيضا على المزامنة مباشرة مع مقدمي الخدمات الآخرين.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top