محتويات الدورة

SQL Server / المتقدم / الدرس 16

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

قارن مجموعات التوافر ومثيلات التجميع وتوصيل السجل وفق نطاق العطل وأهداف العمل، وأدرج العملاء واعتماديات المثيل في التصميم.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • ربط نطاقات العطل باستراتيجية التوافر والتعافي.
  • شرح مفاضلات التثبيت المتزامن وغير المتزامن.
  • تخطيط اتصال العميل وتمرين انتقال مقاس.

صمّم حول الأعطال لا أسماء المنتجات

يقلل التوافر العالي انقطاع تعطل المكونات، ويستعد التعافي من الكوارث لخسائر أوسع كالموقع أو التخزين. حدد ما قد يفشل معاً: الطاقة والشبكة والتخزين والمضيف والمنطقة وبيانات الإدارة أو النشر. لا تحمي نسختان تتشاركان اعتماداً هشاً من فقده. حدد RPO وRTO لكل سيناريو.

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

افهم نطاق مجموعة التوافر

تنسخ مجموعة Always On قواعد مستخدم مختارة إلى نسخ توافر. تخدم الأساسية الكتابة والقراءة وقد تخدم الثانويات المؤهلة أحمال قراءة مضبوطة. لا تنقل النسخ التقليدية على مستوى القاعدة كل تسجيل دخول أو مهمة Agent أو خادم مرتبط أو كائن مثيل. احصر الاعتماديات وأدرها مستقلة في أساس 2019.

تختلف قدرات مجموعات Enterprise عن basic في Standard، وتختلف بنية التوافر المدارة بالتجميع عن القراءة الموسعة فقط؛ فلا تصبح نسخة قراءة حلاً تلقائياً للانتقال. تختلف بنية التجميع بين Windows وLinux. يفحص الاستعلام معلومات النسخة المحلية عند وجود الميزة، لكنه لا يثبت سلامة الخدمة من طرف إلى طرف.

sql فحص حالة نسخة التوافر المحلية
SELECT ag.name,ars.role_desc,ars.operational_state_desc,
 ars.connected_state_desc
FROM sys.availability_groups AS ag
JOIN sys.dm_hadr_availability_replica_states AS ars
 ON ars.group_id=ag.group_id
WHERE ars.is_local=1;

قد لا يعيد المثيل المنفرد صفوفاً؛ وتتبع الرؤية الصلاحيات وإعداد الميزة.

افهم مفاضلة الديمومة والتأخر

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

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

قارن التجميع وتوصيل السجل والنسخ

يحمي failover cluster instance خدمة المثيل عبر عقد تجميع وتصميم تخزين مشترك، ولا يوفر بطبيعته نسخة قاعدة مستقلة ضد كل عطل تخزين. ينقل log shipping نسخ السجل ويستعيدها في خادم آخر، غالباً بانتقال يديره التشغيل وتأخر يتبع جداول النسخ والنقل والاستعادة. تعالج كل استراتيجية مشكلة عطل وإدارة مختلفة.

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

اختبر مسار العميل أثناء الانتقال

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

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

sql فحص دور اسم قاعدة مصطنع
SELECT sys.fn_hadr_is_primary_replica(N'TrainingShop')
 AS is_primary_replica;

قد تكون النتيجة 1 أو0 أوNULL بحسب العضوية والرؤية؛ وليس الاختبار فحص اتصال.

الأخطاء الشائعة وإصلاحها

Failover succeeded but the application failed.

لماذا يحدث؟
أُهملت النقطة أو الهوية أو اعتماديات المثيل.
كيف تصلحه؟
تحقق من مسار العميل والاعتماديات كاملاً.
كيف تتجنب تكراره؟
أدرج جاهزية التطبيق في التمرين.

An asynchronous failover lost recent orders.

لماذا يحدث؟
لم يثبت العمل المؤكد على الهدف بعد.
كيف تصلحه؟
صالح النتائج بالأدلة المحمية وراجع RPO المقبول.
كيف تتجنب تكراره؟
راقب التأخر ووثّق قرار الفقد.

A replicated delete removed every copy.

لماذا يحدث؟
خُلط النسخ المتماثل بالاسترداد التاريخي.
كيف تصلحه؟
استعد التاريخ المستقل المحمي وفق الخطة.
كيف تتجنب تكراره؟
افصل النسخ الاحتياطية عن نسخ التوافر.

اختبر فهمك

1. هل تضمن ثانوية متزامنة عدم فقد البيانات في أي انتقال قسري؟

اعرض الحل المشروح

لا؛ تعتمد الحماية على المزامنة الفعلية والشروط المدعومة. قد يفقد هدف غير متزامن عملاً. افحص الدليل واتبع قرار الحادثة.

2. يتغير دور القاعدة في خمس ثوانٍ ويتعافى العملاء بعد دقيقتين. ما زمن الخدمة المقاس؟

اعرض الحل المشروح

يشمل الانقطاع المفيد تعافي العملاء والتحقق، أي نحو دقيقتين هنا لا خمس ثوانٍ. افحص DNS ومعالجة الاتصالات والاعتماديات.

أهم ما تعلمته

  • اختر الطوبولوجيا وفق الأعطال وأهداف العمل.
  • لا يغني نمط التثبيت عن فحص الجاهزية.
  • لا تستبدل نسخ التوافر النسخ الاحتياطية المحمية.

المراجع الرسمية