Simptome
Să presupunem că aveți un Grup de disponibilitate always on (AG) în SQL Server 2016 și 2017. Când procesați o interogare de citire pe o reproducere secundară, performanța poate fi mult mai lentă decât reproducerea principală din cauza unor DIRTY_PAGE_TABLE_LOCK frecvente.
Cauză
Această problemă apare din cauza unei relații între interogarea de citire și firul de refacere și deoarece tabelul este blocat.
Rezolvare
Această remediere este inclusă în următoarele actualizări pentru SQL Server:
Actualizarea cumulativă 8 pentru SQL Server 2017
Actualizarea cumulativă 1 pentru SQL Server 2016 Service Pack 2
Actualizarea cumulativă 9 pentru SQL Server 2016 Service Pack 1
Despre versiunile SQL Server
Fiecare versiune nouă pentru SQL Server conține toate remedierile rapide și remedierile de securitate care au fost în versiunea anterioară. Vă recomandăm să instalați cea mai recentă versiune pentru versiunea dvs. de SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2017
Soluție de evitare
Pentru a rezolva această problemă, puteți utiliza un singur fir de refacere în locul unui fir de refacere paralel, activând Semnalizare urmărire 3459.
Mai multe informații
Atunci când interogările doar în citire rulează pe o reproducere secundară lizibilă, firele de interogare încearcă să aplice operațiuni de refacere a jurnalului în așteptare și trebuie să colaboreze cu fire de lucru din nou cu DIRTY_PAGE_TABLE_LOCK așteaptă, care pot fi generate frecvent și pot încetini atât refacerea, cât și performanța interogării dacă există sarcini de lucru de refacere concurente. Problema de performanță asociată cu așteptarea DIRTY_PAGE_TABLE_LOCK este tratată în lansarea actualizării cumulative pentru SQL Server 2016 SP și SQL Server 2017 menționate în acest articol.
Pentru mai multe informații, puteți vedea următorul blog despre modelul și performanța de refacere a reproducerii secundare a grupului disponibilitate.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.