- بواسطة x32x01 ||
مشكلة تقنية دمّرت السيستم لأسابيع… والسبب كان مفاجأة 
حابب أشارك معاكم مشكلة تقنية بهَدلتنا حرفيًا أسابيع
مشاكل في كل حتة:
المشاكل دي مكنتش موجودة خالص وظهرت فجأة وبالتدريج.
العرض المشترك لكل المشاكل
بعد شوية تحليل، لقينا إن كل المشاكل ليها سبب واحد: Database Locks 
بل وانتقلت لجداول مفيش عليها ضغط أصلاً!
المفاجأة: أداة تقارير هي السبب
بعد تقليب الدنيا، اكتشفنا إن في أداة اتربطت قريب: Power BI 
قلنا:
مفيش مشكلة… المستخدم Read Only
مستحيل يكون السبب وده كان أكبر خطأ
Power BI بيشتغل إزاي؟
بعد ما دخلنا نبحث بعمق، اكتشفنا إن:
قراءة بس
بس قراءة قاتلة 
مثال بسيط على اللي كان بيحصل
استعلام تقارير شكله بريء:
لكن:
Locks
Blocking
شلل في السيستم كله
ليه Read Only مش ضمان؟
ناس كتير فاكرة إن: Read Only = Safe
وده مش صح دايمًا
لأن:
الحل اللي أنقذنا
الحل كان Architectural مش كود بس 
عملنا:
Replica
مش على الـ Primary DB
والـ Main Database؟
متصلة بالسيستم بس
مستقرة
بلا Locks
الدروس المستفادة
خلي قائدك دايمًا في الصورة

إيه اتغير قبل ما المشكلة تظهر؟
غالبًا هناك هتلاقي السبب الحقيقي
الخلاصة
المشكلة:
مش في Power BI
مش في Read Only User
المشكلة:
في سوء الاستخدام
وعدم عزل التقارير عن السيستم
افصل: OLTP عن OLAP ونام مرتاح
حابب أشارك معاكم مشكلة تقنية بهَدلتنا حرفيًا أسابيع
مشاكل في كل حتة:
- مشاكل Billing

- مشاكل في العمليات المالية
- مشاكل مع المستخدمين
- مشاكل في الـ Jobs
- Errors بتطلع واحدة واحدة وبشكل عشوائي

المشاكل دي مكنتش موجودة خالص وظهرت فجأة وبالتدريج.
العرض المشترك لكل المشاكل
بعد شوية تحليل، لقينا إن كل المشاكل ليها سبب واحد: Database Locks - قفل على جداول
- قفل على Rows
- Transactions بتستنى
- Requests بتتكدّس
- الضغط
- الكود
- الاستعلامات
- Indexes
المفاجأة: أداة تقارير هي السبب
بعد تقليب الدنيا، اكتشفنا إن في أداة اتربطت قريب: Power BI قلنا:
مفيش مشكلة… المستخدم Read Only
مستحيل يكون السبب وده كان أكبر خطأ
Power BI بيشتغل إزاي؟
بعد ما دخلنا نبحث بعمق، اكتشفنا إن:- Power BI ليه أكتر من Mode
- وليه أكتر من طريقة Query Execution
- بعض الإعدادات بتخلّيه:
- يعمل Heavy Read Queries
- يعمل Full Table Scan
- يستخدم Read Locks
(حسب Isolation Level)
مثال بسيط على اللي كان بيحصل
استعلام تقارير شكله بريء: SQL:
SELECT *
FROM transactions
WHERE created_at >= '2026-01-01' - بدون Index
- على جدول ضخم
- ومع Isolation Level عالي
ليه Read Only مش ضمان؟
ناس كتير فاكرة إن: Read Only = Safeوده مش صح دايمًا
لأن:
- Read Locks ممكن تمنع Writes
- Full Scan ممكن يقفل Resources
- Long Running Queries = Disaster
- Billing
- Financial Systems
- High Traffic SaaS
الحل اللي أنقذنا
الحل كان Architectural مش كود بس عملنا:
- Replication Server
- Read Only
- مخصص للتقارير
- Power BI
- أي أداة خارجية
والـ Main Database؟
الدروس المستفادة
متستخدمش أداة قبل ما تفهمها
أي Tool:- اقرأ عنها
- افهم طريقة شغلها
- اعرف أسوأ سيناريو ليها
متحللش المشكلة من زاوية الكود بس
مش كل Bug سببه:- Code
- Query
- Tool
- Config
- Architecture
خلي قائدك دايمًا في الصورة
- بلّغ
- ناقش
- خُد قرار مشترك
حلّل قبل ما تحكم
اطرح كل المعطيات .. اربط الأحداث - وشوف:إيه اتغير قبل ما المشكلة تظهر؟
غالبًا هناك هتلاقي السبب الحقيقي
الخلاصة
المشكلة:المشكلة:
افصل: OLTP عن OLAP ونام مرتاح