يعمل المزامنة في النسخ المتماثل SQL عند المزامنة يدويًا ، ولكن ليس تلقائيًا

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

سؤال

أنا أستخدم SQL Server 2005 لإنشاء نسخة النسخ المتماثل من قواعد البيانات الرئيسية ، بحيث يمكن للتقارير أن تشير إلى نسخة النسخ المتماثل بدلاً من إيقاف قواعد البيانات الرئيسية الخاصة بنا.

لقد قمت بإعداد قواعد البيانات الثلاث كمنشورات ثم 3 مشتركين ينقلون المعاملات إلى المشتركين ، على الفور آمل!

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

  1. تحصل عبارات SQL المستخدمة للاستعلام عن قاعدة البيانات على أقفال تمنع المعاملات التي تحديث المشتركين.
  2. المشتركون مشغولون للغاية بحيث لا يمكن للتكرار تطبيق التغييرات.

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

هدفي هو أن يكون مزامنة البيانات (بشكل مثالي) بشكل مستمر ، أو كل دقيقة ، ربما ينبغي علي تقليل حجم الدُفعة للمعاملات؟

ما الخطأ الذي افعله؟

لاحظ أنه تم تعيين العلم المستمر!

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

المحلول

بعد بعض التحقيق ، لاحظت أن وظائف النشر/الاشتراك المحلي النموذجي لديها 3 مهام لكل اشتراك:

  1. إنشاء لقطة
  2. حرك سجل المعاملات
  3. انطلق (2)

هذا يتعلق بالوظائف التالية:

  1. u003CSourceComp>.u003CSourceDB> -u003CPubName> -u003Cnumber?>
  2. u003CSourceComp>.u003CSourceDB> -u003Cnumber?>
  3. u003CSourceComp>.u003CSourceDB> -u003CDestComp> -u003CDestDB> -u003Cnumber?> .

(3) تم تكوينها لتشغيل مرة واحدة في اليوم. نظرًا لأن هذا كان نموذجًا للدفع ، كنت أتوقع أن يعمل بشكل مستمر ، لكن هذا لم يكن كذلك. كانت اتفاقيات التسمية:

آمل أن يساعد هذا شخص هناك

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