يعمل المزامنة في النسخ المتماثل SQL عند المزامنة يدويًا ، ولكن ليس تلقائيًا
سؤال
أنا أستخدم SQL Server 2005 لإنشاء نسخة النسخ المتماثل من قواعد البيانات الرئيسية ، بحيث يمكن للتقارير أن تشير إلى نسخة النسخ المتماثل بدلاً من إيقاف قواعد البيانات الرئيسية الخاصة بنا.
لقد قمت بإعداد قواعد البيانات الثلاث كمنشورات ثم 3 مشتركين ينقلون المعاملات إلى المشتركين ، على الفور آمل!
ما يبدو أنه يحدث هو أنه عند استخدام وظيفة "إدراج تتبع" ، فإن النسخ المتماثل يأخذ الناشر إلى الموزع <2 ثانية ، ولكن يمكن أن يستغرق المشتركون أكثر من 7 دقائق (وهذه قواعد بيانات محلية على SAN). هذا يمكن أن يكون لسببين:
- تحصل عبارات SQL المستخدمة للاستعلام عن قاعدة البيانات على أقفال تمنع المعاملات التي تحديث المشتركين.
- المشتركون مشغولون للغاية بحيث لا يمكن للتكرار تطبيق التغييرات.
ما يبدو أنه يزعجني أكثر ، هو أنه على الرغم من أن تتبع الشاشة / إدراج النسخ المتماثل يعرض هذه الإحصائيات ، إذا كنت تستخدم "عرض تفاصيل الاشتراك" ، ثم انقر فوق "ابدأ" ، إلا أنه سيتم مزامنته في غضون ثوانٍ.
هدفي هو أن يكون مزامنة البيانات (بشكل مثالي) بشكل مستمر ، أو كل دقيقة ، ربما ينبغي علي تقليل حجم الدُفعة للمعاملات؟
ما الخطأ الذي افعله؟
لاحظ أنه تم تعيين العلم المستمر!
المحلول
بعد بعض التحقيق ، لاحظت أن وظائف النشر/الاشتراك المحلي النموذجي لديها 3 مهام لكل اشتراك:
- إنشاء لقطة
- حرك سجل المعاملات
- انطلق (2)
هذا يتعلق بالوظائف التالية:
- u003CSourceComp>.u003CSourceDB> -u003CPubName> -u003Cnumber?>
- u003CSourceComp>.u003CSourceDB> -u003Cnumber?>
- u003CSourceComp>.u003CSourceDB> -u003CDestComp> -u003CDestDB> -u003Cnumber?> .
(3) تم تكوينها لتشغيل مرة واحدة في اليوم. نظرًا لأن هذا كان نموذجًا للدفع ، كنت أتوقع أن يعمل بشكل مستمر ، لكن هذا لم يكن كذلك. كانت اتفاقيات التسمية:
آمل أن يساعد هذا شخص هناك