النسخ المتماثل الجغرافي النشط

ينطبق على: قاعدة بيانات Azure SQL

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

تم تصميم النسخ المتماثل الجغرافي النشط كحل لاستمرارية الأعمال يتيح لك إجراء استعادة سريعة لقواعد البيانات الفردية بعد الكوارث في حالة وقوع كارثة إقليمية أو انقطاع واسع النطاق. بمجرد إعداد النسخ المتماثل الجغرافي، يمكنك بدء تجاوز الفشل الجغرافي إلى منطقة ثانوية جغرافية في منطقة Azure مختلفة. يتم بدء تجاوز الفشل الجغرافي برمجياً بواسطة التطبيق أو يدوياً بواسطة المستخدم.

ملاحظة

النسخ المتماثل الجغرافي النشط لـ Azure SQL Hyperscale هو الآن في المعاينة العامة. تشمل القيود الحالية ما يلي:

  • يمكن أن يحتوي الأساسي على نسخة متماثلة ثانوية الموقع الجغرافي واحدة فقط.
  • لا يتم اعتماد استعادة أو نسخ قاعدة بيانات من الموقع الجغرافي الثانوي.
  • لا يمكن استخدام الموقع الجغرافي الثانوي كمصدر للنسخ المتماثل الجغرافي إلى قاعدة بيانات أخرى.
  • لا يتم تسجيل الدخول إلى سجلات التدقيق في المناطق الجغرافية الثانوية عند الاتصال بـ ApplicationIntent=Readonly.

ملاحظة

النسخ المتماثل الجغرافي النشط غير مدعوم من قبل Azure SQL Managed Instance. لتجاوز الفشل الجغرافي لمثيلات SQL المُدارة، استخدم مجموعات تجاوز الفشل التلقائي .

ملاحظة

لترحيل قواعد بيانات SQL من Azure Germany باستخدام النسخ المتماثل الجغرافي النشط، راجع ترحيل قاعدة بيانات SQL باستخدام النسخ المتماثل الجغرافي النشط.

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

يوضح الرسم التخطيطي التالي تكويناً نموذجياً لتطبيق سحابي متكرر جغرافياً باستخدام النسخ المتماثل الجغرافي النشط.

active geo-replication

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

يمكنك إدارة النسخ الجغرافي وبدء تجاوز الفشل الجغرافي باستخدام ما يلي:

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

ملاحظة

النسخ المتماثل الجغرافي النشط يكرر التغييرات عن طريق دفق سجل معاملات قاعدة البيانات من النسخة المتماثلة الأساسية إلى النسخ المتماثلة الثانوية. لا علاقة له بـ النسخ المتماثل للمعاملات ، والذي يكرر التغييرات عن طريق تنفيذ أوامر DML (INSERT، UPDATE، DELETE) على المشتركين.

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

يوضح الشكل التالي مثالاً على النسخ المتماثل الجغرافي النشط الذي تم تكوينه باستخدام أساسي في منطقة شمال وسط الولايات المتحدة وجغرافي ثانوي في منطقة جنوب وسط الولايات المتحدة.

geo-replication relationship

بالإضافة إلى التعافي من الكوارث، يمكن استخدام النسخ الجغرافي النشط في السيناريوهات التالية:

  • ترحيل قاعدة البيانات: يمكنك استخدام النسخ الجغرافي النشط لترحيل قاعدة بيانات من خادم إلى آخر بأقل وقت تعطل.
  • ترقيات التطبيق: يمكنك إنشاء نسخة ثانوية إضافية كنسخة فاشلة أثناء ترقيات التطبيق.

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

مصطلحات وقدرات النسخ الجغرافي النشط

  • النسخ المتماثل التلقائي غير المتزامن

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

  • نسخ متماثلة جغرافية ثانوية قابلة للقراءة

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

    هام

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

  • تجاوز الفشل الجغرافي المخطط

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

    • إجراء تدريبات DR في الإنتاج عندما يكون فقدان البيانات غير مقبول؛
    • نقل قاعدة البيانات إلى منطقة مختلفة؛
    • أعد قاعدة البيانات إلى المنطقة الأساسية بعد أن تم تخفيف الانقطاع (المعروف باسم إعادة الفشل).
  • تجاوز الفشل الجغرافي غير المخطط له

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

    هام

    بعد تجاوز الفشل الجغرافي المخطط له أو غير المخطط له، تتغير نقطة نهاية الاتصال الخاصة بالتغييرات الأساسية الجديدة لأن الأساسي الجديد يقع الآن على خادم منطقي مختلف.

  • مواقع جغرافية ثانوية متعددة يمكن قراءتها

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

    تلميح

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

  • التماثل الجغرافي لقاعدة البيانات في تجمع مرن

    يمكن أن يكون كل المواقع الجغرافية الثانوية قاعدة بيانات واحدة أو قاعدة بيانات في تجمع مرن. يعد اختيار التجمع المرن لكل قاعدة بيانات جغرافية ثانوية منفصلاً ولا يعتمد على تكوين أي نسخة متماثلة أخرى في الهيكل (سواء كانت أساسية أو ثانوية). يتم احتواء كل تجمع مرن داخل خادم منطقي واحد. لأن أسماء قواعد البيانات على ملقم منطقي يجب أن تكون فريدة من نوعها، يمكن أبدا مشاركة عدة مواقع جغرافية ثانوية من نفس الأساسي تجمع مرن.

  • تجاوز الفشل الجغرافي وإعادة الإخفاق التي يتحكم فيها المستخدم

    يمكن تحويل الوظيفة الجغرافية الثانوية التي انتهت من عملية البذر الأولي صراحةً إلى الدور الأساسي (فشل أكثر) في أي وقت بواسطة التطبيق أو المستخدم. أثناء انقطاع التيار حيث يتعذر الوصول إلى الأساسي، يمكن استخدام تجاوز فشل جغرافي غير مخطط له فقط. يؤدي ذلك على الفور إلى الترويج لمناطق جغرافية ثانوية لتكون أولية جديدة. عندما يتم تخفيف الانقطاع، يقوم النظام تلقائياً بجعل المرحلة الأولية المستردة جغرافية ثانوية، وتحديثها باستخدام الأساسي الجديد. نظراً للطبيعة غير المتزامنة للنسخ المتماثل الجغرافي، فقد تُفقد المعاملات الأخيرة أثناء عمليات تجاوز الأعطال الجغرافية غير المخطط لها إذا فشلت العملية الأولية قبل نسخ هذه المعاملات إلى قاعدة جغرافية ثانوية. عندما يفشل أساسي مع multi-secondaries الجغرافية عبر النظام تلقائياً تكوين علاقات النسخ المتماثل ويربط المواقع الجغرافية الثانوية المتبقية إلى الأساسية ترقيته حديثا دون الحاجة إلى أي تدخل المستخدم. بعد التخفيف من الانقطاع الذي تسبب في تجاوز الفشل الجغرافي، قد يكون من المرغوب فيه إعادة الأساسي إلى منطقته الأصلية. للقيام بذلك، قم باستدعاء تجاوز الفشل الجغرافي المخطط.

الاستعداد لتجاوز الفشل الجغرافي

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

هام

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

تكوين الموقع الجغرافي الثانوي

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

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

إذا قررت إنشاء جيو-ثانوية بحجم حساب أقل، فيجب عليك مراقبة معدل تسجيل الإدخال والإخراج على المستوى الأساسي بمرور الوقت. يتيح لك هذا تقدير الحد الأدنى لحجم الحوسبة للثانوية الجغرافية المطلوبة للحفاظ على حمل النسخ المتماثل. على سبيل المثال، إذا كانت قاعدة البيانات الأساسية الخاصة بك هي P6 (1000 DTU) وتم الحفاظ على سجل الإدخال والإخراج بنسبة 50٪، فيجب أن يكون المستوى الجغرافي الثانوي P4 (500 DTU) على الأقل. لاسترداد بيانات سجل الإدخال والإخراج السابقة، استخدم طريقة العرض sys.resource_stats. لاسترداد بيانات سجل الإدخال / الإخراج الأخيرة بدقة أعلى تعكس بشكل أفضل الارتفاعات قصيرة المدى، استخدم طريقة العرض sys.dm_db_resource_stats .

تلميح

تم الإبلاغ عن تقييد إدخال الإدخال / الإخراج في سجل المعاملات على المستوى الأساسي نظراً لانخفاض حجم الحوسبة على المستوى الجغرافي الثانوي باستخدام طرق عرض قاعدة بيانات HADR_THROTTLE_LOG_RATE_MISMATCHED_SLO، المرئي في sys.dm_exec_requests و sys.dm_os_wait_stats .

قد يتم اختناق سجل المعاملات IO على الأساسي لأسباب لا علاقة لها بانخفاض حجم الحوسبة على المستوى الجغرافي الثانوي. قد يحدث هذا النوع من الاختناق حتى إذا كان للجيو-ثانوي نفس حجم الحوسبة الأساسي أو أعلى منه. للحصول على التفاصيل، بما في ذلك أنواع الانتظار لأنواع مختلفة من تقييد إدخال / إخراج السجل، راجع إدارة معدل سجل المعاملات .

افتراضياً، يكون التكرار في تخزين النسخ الاحتياطي للثانوي الجغرافي هو نفسه لقاعدة البيانات الأساسية. يمكنك اختيار تكوين جغرافي ثانوي مع تكرار تخزين احتياطي مختلف. يتم أخذ النسخ الاحتياطية دائماً على قاعدة البيانات الأساسية. إذا تم تكوين النسخة الثانوية باستخدام نسخ احتياطي مختلف للتخزين الاحتياطي، فعندئذٍ بعد تجاوز الفشل الجغرافي، عند ترقية الثانوية الجغرافية إلى الأساسي، سيتم تخزين النسخ الاحتياطية الجديدة وفوترتها وفقاً لنوع التخزين (RA-GRS، ZRS، LRS) محدداً في المرحلة الابتدائية الجديدة (الثانوية السابقة).

النسخ المتماثل الجغرافي عبر الاشتراكات

لإنشاء اشتراك ثانوي جغرافي في اشتراك يختلف عن اشتراك الأساسي (سواء كان ضمن مستأجر Microsoft Azure Active Directory نفسه أم لا)، اتبع الخطوات الواردة في هذا القسم.

  1. أضف عنوان IP الخاص بجهاز العميل الذي ينفذ أوامر T-SQL أدناه إلى جدران حماية الخادم لكل من الخوادم الأساسية والثانوية. يمكنك تأكيد عنوان IP هذا عن طريق تنفيذ الاستعلام التالي أثناء الاتصال بالخادم الأساسي من نفس جهاز العميل.

    select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
    

    لمزيد من المعلومات، راجع تكوين جدار الحماية .

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

    create login geodrsetup with password = 'ComplexPassword01';
    
  3. في نفس قاعدة البيانات، أنشئ مستخدماً لتسجيل الدخول، وأضفه إلى الدور dbmanager:

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  4. لاحظ قيمة SID لتسجيل الدخول الجديد. الحصول على قيمة SID باستخدام الاستعلام التالي.

    select sid from sys.sql_logins where name = 'geodrsetup';
    
  5. اتصل بقاعدة البيانات الأساسية (وليس قاعدة البيانات الرئيسية)، وأنشئ مستخدماً لنفس تسجيل الدخول.

    create user geodrsetup for login geodrsetup;
    
  6. في نفس قاعدة البيانات، أضف المستخدم إلى الدور db_owner.

    alter role db_owner add member geodrsetup;
    
  7. في قاعدة البيانات الرئيسية على الخادم الثانوي، قم بإنشاء نفس تسجيل الدخول الموجود على الخادم الأساسي، باستخدام نفس الاسم وكلمة المرور وSID. استبدل قيمة SID السداسية العشرية في الأمر النموذجي أدناه بالقيمة التي تم الحصول عليها في الخطوة 4.

    create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. في نفس قاعدة البيانات، أنشئ مستخدماً لتسجيل الدخول، وأضفه إلى الدور dbmanager.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. اتصل بقاعدة البيانات الرئيسية على الخادم الأساسي باستخدام تسجيل الدخول الجديد geodrsetup، وابدأ في الإنشاء الجغرافي الثانوي على الخادم الثانوي. اضبط اسم قاعدة البيانات واسم الخادم الثانوي حسب الحاجة. بمجرد تنفيذ الأمر، يمكنك مراقبة الإنشاء الجغرافي الثانوي عن طريق الاستعلام عن عرض sys.dm_geo_replication_link_status في قاعدة البيانات الأساسية وعرض sys.dm_operation_status في قاعدة البيانات الرئيسية على الخادم الأساسي. يعتمد الوقت اللازم لإنشاء جغرافي ثانوي على حجم قاعدة البيانات الأساسي.

    alter database [dbrep] add secondary on server [servername];
    
  10. بعد إنشاء الموقع الجغرافي الثانوي بنجاح، يمكن إزالة قواعد المستخدمين وتسجيلات الدخول وجدار الحماية التي تم إنشاؤها بواسطة هذا الإجراء.

ملاحظة

عمليات النسخ المتماثل الجغرافي عبر الاشتراكات بما في ذلك الإعداد وتجاوز الفشل الجغرافي مدعومة فقط باستخدام أوامر T-SQL & الخاص بواجهة برمجة تطبيقات REST.

إضافة موقع جغرافي ثانوي باستخدام T-SQL غير معتمد عند الاتصال بالخادم الأساسي عبر نقطة نهاية خاصة. عند تكوين نقطة النهاية الخاصة مع السماح بالوصول إلى الشبكة العامة، يتم دعم إضافة موقع جغرافي ثانوي عند الاتصال بالخادم الأساسي من عنوان IP عام. بمجرد إضافة موقع جغرافي ثانوي، يمكن رفض الوصول العام.

لا يتم دعم إنشاء جغرافي ثانوي على خادم منطقي في مستأجر Azure مختلف عندما تكون مصادقة Microsoft Azure Active Directory فقط لـ Azure SQL نشطة (ممكَّنة) على الخادم المنطقي الأساسي أو الثانوي.

احتفظ ببيانات الاعتماد وقواعد الجدار الناري متزامنة

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

مقياس قاعدة البيانات الأساسية

يمكنك توسيع قاعدة البيانات الأساسية أو تقليصها إلى حجم حساب مختلف (ضمن نفس مستوى الخدمة) دون فصل أي مواقع جغرافية ثانوية. عند التوسع، نوصيك بتوسيع النطاق الجغرافي الثانوي أولاً، ثم توسيع النطاق الأساسي. عند التصغير، قم بعكس الترتيب: قم بتقليص المستوى الأساسي أولاً، ثم قم بتقليص المستوى الثانوي.

ملاحظة

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

هام

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

The source database 'Primaryserver.DBName' cannot have higher edition than the target database 'Secondaryserver.DBName'. Upgrade the edition on the target before upgrading the source.

منع فقدان البيانات الهامة

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

ملاحظة

يمنع sp_wait_for_database_copy_sync فقدان البيانات بعد تجاوز الفشل الجغرافي لمعاملات معينة، ولكنه لا يضمن المزامنة الكاملة للوصول للقراءة. يمكن أن يكون التأخير الناجم عن sp_wait_for_database_copy_sync استدعاء إجراء كبيرًا ويعتمد على حجم سجل المعاملات غير المرسلة بعد على الأساسي في وقت الاستدعاء.

مراقبة تأخر النسخ الجغرافي

لمراقبة التأخر فيما يتعلق بـ RPO، استخدم عمود replication_lag_sec من sys.dm_geo_replication_link_status في قاعدة البيانات الأساسية. يظهر تأخر المجموعات الجغرافية الثانوية بين المعاملات التي تم تنفيذها في الأساسي وتصلب إلى سجل المعاملة على الثانوي. على سبيل المثال، إذا كانت فترة التأخير ثانية واحدة، فهذا يعني أنه إذا تأثرت المرحلة الأولية بانقطاع التيار في هذه اللحظة وبدأت تجاوز الفشل الجغرافي، فستفقد المعاملات التي تم تنفيذها في الثانية الأخيرة.

لقياس التأخر فيما يتعلق بالتغييرات على قاعدة البيانات الأساسية التي تم تقويتها على المستوى الجغرافي الثانوي، قارن last_commit الوقت على المستوى الجغرافي الثانوي بنفس القيمة على الأساسي.

تلميح

إذا كانت replication_lag_sec على الأساسي هي NULL، فهذا يعني أن الأساسي لا يعرف حالياً مدى التأخر الجغرافي في الثانوية. يحدث هذا عادةً بعد إعادة تشغيل العملية ويجب أن يكون حالة عابرة. ضع في اعتبارك إرسال تنبيه إذا كانت replication_lag_sec تُرجع NULL لفترة طويلة من الوقت. قد يشير إلى أن الموقع الجغرافي الثانوي لا يمكنه الاتصال بالمرحلة الأولية بسبب فشل الاتصال.

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

إدارة النسخ الجغرافي النشط برمجياً

كما تمت مناقشته سابقاً، يمكن أيضاً إدارة النسخ المتماثل الجغرافي النشط برمجياً باستخدام T-SQL وAzure PowerShell واجهة برمجة تطبيقات REST. تصف الجداول التالية مجموعة الأوامر المتوفرة. يتضمن النسخ المتماثل الجغرافي النشط مجموعة من واجهات برمجة تطبيقات Azure Resource Manager للإدارة، بما في ذلك Azure SQL Database REST API وAzure PowerShell cmdlets. تدعم واجهات برمجة التطبيقات (API) هذه التحكم في الوصول المستند إلى الدور في Azure (Azure RBAC). لمزيد من المعلومات حول كيفية تنفيذ أدوار الوصول، راجع التحكم في الوصول المستند إلى الدور Azure (Azure RBAC) .

T-SQL: إدارة تجاوز الفشل الجغرافي لقواعد البيانات الفردية والمجمعة

هام

تنطبق أوامر T-SQL هذه فقط على النسخ المتماثل الجغرافي النشط ولا تنطبق على مجموعات تجاوز الفشل. على هذا النحو، فهي أيضاً لا تنطبق على SQL Managed Instance، الذي يدعم مجموعات تجاوز الفشل فقط.

الأمر الوصف
ALTER DATABASE استخدم وسيطة ADD SECONDARY ON SERVER لإنشاء قاعدة بيانات ثانوية لقاعدة بيانات موجودة وبدء النسخ المتماثل للبيانات
ALTER DATABASE استخدم FAILOVER أو FORCE_FAILOVER_ALLOW_DATA_LOSS لتبديل قاعدة بيانات ثانوية لتكون أساسية لبدء تجاوز الفشل
ALTER DATABASE استخدم REMOVE SECONDARY ON SERVER لإنهاء النسخ المتماثل للبيانات بين قاعدة بيانات SQL وقاعدة البيانات الثانوية المحددة.
sys.geo_replication_links إرجاع معلومات حول جميع ارتباطات النسخ المتماثل الموجودة لكل قاعدة بيانات على الخادم.
sys.dm_geo_replication_link_status الحصول على آخر وقت للنسخ المتماثل وآخر تأخير للنسخ المتماثل ومعلومات أخرى حول ارتباط النسخ المتماثل لقاعدة بيانات معينة.
sys.dm_operation_status يعرض حالة جميع عمليات قاعدة البيانات بما في ذلك التغييرات على روابط النسخ المتماثل.
sys.sp_wait_for_database_copy_sync يتسبب في انتظار التطبيق حتى يتم تقوية جميع المعاملات الملتزمة في سجل المعاملات الخاص بالموقع الجغرافي الثانوي.

PowerShell: إدارة تجاوز الفشل الجغرافي لقواعد البيانات الفردية والمجمعة

ملاحظة

تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

هام

لا تزال الوحدة النمطيةPowerShell Azure Resource Manager مدعومة من قبل قاعدة بيانات SQL Azure، ولكن جميع التطويرات المستقبلية تكون للوحدة النمطية Az.Sql. بالنسبة إلى أوامر cmdlets، راجع AzureRM.Sql. تتطابق وسائط الأوامر في الوحدة النمطية Az وفي الوحدات النمطية AzureRm بشكل كبير.

Cmdlet الوصف
Get-AzSqlDatabase الحصول على 1 أو أكثر من قواعد البيانات.
New-AzSqlDatabaseSecondary إنشاء قاعدة بيانات ثانوية لقاعدة بيانات موجودة وبدء النسخ المتماثل للبيانات.
Set-AzSqlDatabaseSecondary تبديل قاعدة بيانات ثانوية لتكون أساسية لبدء تجاوز الفشل.
Remove-AzSqlDatabaseSecondary إنهاء النسخ المتماثل للبيانات بين قاعدة بيانات SQL وقاعدة البيانات الثانوية المحددة.
Get-AzSqlDatabaseReplicationLink يحصل على روابط النسخ المتماثل الجغرافي لقاعدة البيانات.

واجهة برمجة تطبيقات REST: إدارة تجاوز الفشل الجغرافي لقواعد البيانات الفردية والمجمعة

واجهة برمجة التطبيقات (API) الوصف
إنشاء أو تحديث قاعدة البيانات (createMode = استعادة) ينشئ قاعدة بيانات أساسية أو ثانوية أو يحدّثها أو يستعيدها.
إذهب إلى إنشاء أو تحديث حالة قاعدة البيانات تُرجع الحالة أثناء عملية الإنشاء.
تعيين قاعدة البيانات الثانوية كقاعدة أساسية (تجاوز الفشل المخطط) يعيّن قاعدة البيانات الثانوية التي تعتبر أساسية عن طريق الفشل من قاعدة البيانات الأساسية الحالية. هذا الخيار غير مدعوم لـ SQL Managed Instance.
تعيين قاعدة البيانات الثانوية كأساسية (تجاوز الفشل غير المخطط له) يعيّن قاعدة البيانات الثانوية التي تعتبر أساسية عن طريق الفشل من قاعدة البيانات الأساسية الحالية. قد تؤدي هذه العملية إلى فقدان البيانات. هذا الخيار غير مدعوم لـ SQL Managed Instance.
احصل على رابط النسخ المتماثل يعطي ارتباط نسخ محدد لقاعدة بيانات معينة في شراكة النسخ المتماثل الجغرافي. يقوم باسترداد المعلومات المرئية في عرض الكتالوج sys.geo_replication_links. هذا الخيار غير مدعوم لـ SQL Managed Instance.
روابط النسخ المتماثل – سرد حسب قاعدة البيانات يحصل على جميع روابط النسخ المتماثل لقاعدة بيانات معينة في شراكة النسخ المتماثل الجغرافي. يقوم باسترداد المعلومات المرئية في عرض الكتالوج sys.geo_replication_links.
حذف ارتباط النسخ المتماثل يحذف ارتباط النسخ المتماثل لقاعدة البيانات. لا يمكن القيام به أثناء تجاوز الفشل.

الخطوات التالية