الأعراض
افترض أن لديك مجموعة قابلية وصول عالية التوفر AlwaysOn (AG) في SQL Server 2016 و2017. عند معالجة استعلام قراءة على نسخة متماثلة ثانوية، قد يكون الأداء أبطأ بكثير من النسخة المتماثلة الأساسية بسبب الانتظار المتكرر DIRTY_PAGE_TABLE_LOCK.
السبب
تحدث هذه المشكلة بسبب الخلاف بين استعلام القراءة ومؤشر ترابط الإعادة، ولأن الجدول مؤمن.
الحل
يتم تضمين هذا الإصلاح في التحديثات التالية SQL Server:
التحديث التراكمي 8 SQL Server 2017
التحديث التراكمي 1 لحزمة خدمة SQL Server 2016 2
التحديث التراكمي 9 لحزمة خدمة SQL Server 2016 1
حول SQL Server الإصدارات
يحتوي كل إصدار جديد SQL Server على جميع الإصلاحات العاجلة وإصلاحات الأمان التي كانت موجودة في الإصدار السابق. نوصي بتثبيت أحدث إصدار لإصدار SQL Server:
الحل البديل
لحل هذه المشكلة، يمكنك استخدام مؤشر ترابط إعادة واحد بدلا من مؤشر ترابط إعادة متوازي عن طريق تمكين Trace Flag 3459.
مزيد من المعلومات
عند تشغيل استعلامات القراءة فقط على نسخة متماثلة ثانوية قابلة للقراءة، تحاول مؤشرات ترابط الاستعلام تطبيق عمليات إعادة السجل المعلقة وتحتاج إلى التعاون مع مؤشرات ترابط عامل الإعادة مع DIRTY_PAGE_TABLE_LOCK الانتظار، والتي يمكن إنشاؤها بشكل متكرر وإبطاء أداء كل من الإعادة والاستعلام إذا كانت هناك أحمال عمل إعادة متزامنة. تتم معالجة مشكلة الأداء المرتبطة بالانتظار DIRTY_PAGE_TABLE_LOCK في إصدار التحديث التراكمي SQL Server 2016 SP و SQL Server 2017 المذكورين في هذه المقالة.
لمزيد من المعلومات، يمكنك مشاهدة المدونة التالية على نموذج وأداء النسخة المتماثلة الثانوية لمجموعة التوفر.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
تعرف على المصطلحات التي تستخدمها Microsoft لوصف تحديثات البرامج.