SQL Server / المتقدم / الدرس 17
التشغيل والسلامة وقابلية المراقبة
ابنِ روتين تشغيل يكشف المخاطر قبل المستخدمين، واربط السعة وعمر النسخ وفحوص السلامة والمهام والانتظار والصيانة المضبوطة.
في هذه الصفحة
أهداف الدرس
- اختيار مؤشرات صحة قابلة للإجراء مع مالكيها.
- شرح CHECKDB والاستجابة الآمنة للتلف.
- استخدام أدلة فترات لفحص السعة والانتظار.
راقب النتائج وجاهزية الاسترداد
تشمل الصحة التشغيلية نجاح طلبات العمل والتأخر ومعدل الخطأ وحداثة النسخ وجاهزية الاستعادة وتاريخ فحص السلامة والسعة المتبقية ونجاح المهام المطلوبة. قد تعمل الخدمة بينما قاعدة غير متاحة أو مسار الطلب معطّل. اجمع مقاييس البنية مع فحص تطبيق ضيق لا يعدل بيانات الأعمال.
يحتاج كل إنذار مالكاً وسبب حد وخطوة تشخيص تالية. يجب وصول إنذار التخزين مبكراً بما يكفي لجلب نسخ أو توسيع السعة بعملية معتمدة. تعوّد الضوضاء المتكررة المشغلين تجاهل الحوادث. استخدم الاتجاهات ودورات العمل وميّز تحذير المراجعة من عطل التصعيد الفوري.
راقب البيانات والسجل وtempdb مستقلة
تختلف أسباب نمو ملفات البيانات والسجل وtempdb. قد تؤخر معاملة طويلة إعادة استخدام السجل، أو يسبب غياب نسخه نموه تحت FULL، أو تضغط عمليات الفرز والتجزئة والجداول المؤقتة والنسخ المحتفظ بها على tempdb. لا يفسر حجم الملف المساحة المستخدمة أو سبب الاحتجاز؛ افحص المورد المناسب قبل تغيير النمو.
يعرض الاستعلام استخدام سجل القاعدة الحالية دون مسح عدادات أو تقليص ملفات. اربط النسبة بالحجم المطلق والاتجاه. قد لا تكفي عشرة بالمئة فارغة في سجل صغير لدفعة عادية. تزيد دورات التقليص والنمو الكلفة ولا تصلح العمل أو النسخ. خطط السعة وزيادات النمو المناسبة.
SELECT total_log_size_in_bytes/1048576.0 AS total_log_mb,
used_log_space_in_bytes/1048576.0 AS used_log_mb,
used_log_space_in_percent
FROM sys.dm_db_log_space_usage;
يعرض الـ DMV القاعدة الحالية؛ ويتطلب صلاحيات حالة موثقة تختلف بين الإصدارات.
اكتشف التلف قبل الحاجة العاجلة للاسترداد
تفحص DBCC CHECKDB اتساق القاعدة بتحققات منطقية ومادية متعددة. جدولها بميزانية موارد مناسبة واحتفظ بنتائجها. PHYSICAL_ONLY فحص محدود ولا يعادل التحقق المنطقي الكامل. لا يضمن وقت نسخة حديث صحة القاعدة المخزنة.
لا يتضمن الأمر التصوري خيار إصلاح. عند الإبلاغ عن تلف احفظ الدليل وافحص أخطاء التخزين والنظام واتبع خطة استرداد من نسخة سليمة معروفة حيث يمكن. REPAIR_ALLOW_DATA_LOSS ملاذ طارئ أخير قد يزيل بيانات وليس صيانة اعتيادية. لا تجعل الإصلاح المدمر أول استجابة تعليمية للخطأ.
-- Resource-intensive inspection; schedule only in an authorized lab.
DBCC CHECKDB (N'TrainingShop') WITH NO_INFOMSGS,ALL_ERRORMSGS;
لا نفترض نتيجة سلامة؛ حتى الفحص دون إصلاح يستهلك موارد ويحتاج جدولة معتمدة.
استخدم الانتظار كدليل خلال فترة مقاسة
تتراكم إحصاءات الانتظار منذ البدء أو آخر مسح وتشمل نشاطاً خلفياً سليماً. قارن لقطات خلال الحادثة بدلاً من ترتيب مجاميع عمر الخدمة فقط. توحي أقفال وتخزين وتفريغ سجل واستهلاك عميل بفرضيات مختلفة. لا يكمل اسم الانتظار تشخيص السبب ولا يوجه وحده لتغيير العتاد.
لا تمسح العدادات المشتركة للسهولة. سجل وقت البدء وطول الفترة والعمل وإعادة الضبط. اربط الانتظار بالطلبات والتاريخ والإدخال والإخراج والمعالج وسلوك التطبيق. يتطلب SQL Server 2022 صلاحية VIEW SERVER PERFORMANCE STATE لعدة عروض أداء كانت تستخدم VIEW SERVER STATE؛ اتبع توثيق العرض المحدد بدلاً من منح sysadmin.
صن وفق الدليل وقابلية الاسترداد
يجب أن تستجيب صيانة الفهارس والإحصاءات لحاجة العمل وتغير البيانات والموارد والفائدة المرصودة. قد تولد إعادة بناء كل الفهارس ليلياً إدخالاً وإخراجاً وسجلاً وتداخلاً كبيراً دون مكسب. لا تبرر نسبة التجزؤ وحدها كل إعادة بناء. كما يقيد الإصدار والنسخة خيارات مثل التشغيل المتصل.
تحقق من تنفيذ المهام وقنوات التنبيه واحتفظ بخطة رجوع مختبرة لتغييرات الإعداد أو التوافق، ومهّد التحديثات بفحوص عمل ممثلة. احم الوصول للسجلات والمراقبة لأن النص قد يتضمن قيماً حساسة. يربط دليل التشغيل العرض بفحص آمن ومالك قرار وتدخل معتمد وتحقق من الخدمة وجاهزية الاسترداد.
الأخطاء الشائعة وإصلاحها
The database is healthy because the service is running.
- لماذا يحدث؟
- خُلط بقاء العملية بجاهزية العمل.
- كيف تصلحه؟
- افحص توافر القاعدة ونجاح الطلبات والنسخ والسلامة.
- كيف تتجنب تكراره؟
- عرف فحوص صحة متعددة الطبقات.
Log shrinks but immediately grows again.
- لماذا يحدث؟
- بقي سبب الاحتجاز أو العمل.
- كيف تصلحه؟
- افحص الاستخدام والاحتجاز والمعاملات وعمر نسخة السجل.
- كيف تتجنب تكراره؟
- خطط السعة وأصلح العملية الجذرية.
Repair was used before recovery assessment.
- لماذا يحدث؟
- عومل خيار مدمر كصيانة عادية.
- كيف تصلحه؟
- احفظ الدليل وقيّم الاستعادة السليمة أولاً.
- كيف تتجنب تكراره؟
- ضع الاستجابة للتلف في دليل مراجع.
اختبر فهمك
1. مجاميع الانتظار مرتفعة بعد أشهر من التشغيل. ما المقارنة المفيدة؟
اعرض الحل المشروح
خذ لقطات فترة دون مسح العدادات وراع حدود البدء والمسح واربط الفروق بالعمل والطلبات. لا تحدد مجاميع العمر تراجع اليوم.
2. تأخر فحص السلامة الكامل لكن PHYSICAL_ONLY نُفذ أمس. هل تحقق المطلوب؟
اعرض الحل المشروح
لا؛ تختلف تغطية الفحص المادي المحدود. اتبع الجدول والموارد الموثقة واحتفظ بأدلة الفحوص المطلوبة وجاهزية الاسترداد.
أهم ما تعلمته
- راقب نتائج الأعمال وقابلية الاسترداد معاً.
- استخدم فترات مقاسة للعدادات التراكمية.
- فحص السلامة والإصلاح المدمر فعلان مختلفان.