كيف يمكنني إنشاء نسخة حقيقية من قاعدة بيانات SQL Server 2005 الخاصة بي؟

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

سؤال

لدي تطبيق ويب يستخدم في قارات متعددة. تقوم المعاملة الأساسية DB بإغلاق عند تشغيل تقارير كبيرة. أريد أن:

  1. اجعل الوقت الحقيقي لقاعدة بيانات SQL Server 2005 إلى تقارير DB
  2. توجيه جميع التقارير إلى التقارير DB

من الناحية النظرية ، سيمنع هذا قفل المعاملات للإدراج والتحديثات. لا بأس إذا تم قفل التقارير DB مؤقتًا طالما استمرت المعاملات. يمكن للتقارير أن تتلقى DB المعاملات الجديدة عندما تكون تحت حمولة أخف. ما هي أفضل طريقة للحفاظ على نسخة قريبة من الوقت الحقيقي من المعاملة DB؟ هل يجب علي استخدام النسخ المتماثل أو النسخ المتطابق أو مزيج من الاثنين؟ ما هي الإرشادات العامة التي يجب أن أتابعها؟

شكرًا!

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

المحلول

يستخدم SQL خادم النسخ المتماثل لتنفيذ هذا النوع من الهندسة المعمارية. على سبيل المثال ، قم بتكرار البيانات من خادم DB الرئيسي إلى خادم التقارير. إنه ليس في الوقت الفعلي تمامًا (عدد قليل من الأنظمة) ولكن يمكن أن تكون قريبة جدًا.

هناك العديد من النكهات مع تكرار SQL Server وربما تريد خادم إلى خادم. انظر أيضا هذا المقال عن تخزين البيانات والإبلاغ. يصف السيناريو الدقيق الذي تتعارض معه وأهدافك:

حسب التصميم ، يعالج النسخ المتماثل للمعاملات المتطلبات الرئيسية لهذا السيناريو:

  • الاتساق المعاملات
  • قليل من الكمون
  • إنتاجية عالية
  • الحد الأدنى من النفقات العامة

نصائح أخرى

النسخ المتطابق = DB كله ، النسخ المتماثل هو مجموعة فرعية مستخدم بناءً على ما "تنشر"

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

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