Jelenségek
Tegyük fel, hogy 2016-ban és 2017-ben alwayson rendelkezésre állási csoport (AG) van SQL Server. Amikor olvasási lekérdezést dolgoz fel egy másodlagos replikán, a teljesítmény a gyakori DIRTY_PAGE_TABLE_LOCK várakozások miatt sokkal lassabb lehet, mint az elsődleges replika.
A probléma oka
Ez a probléma az olvasási lekérdezés és az ismétlési szál közötti versengés, valamint a tábla zárolt állapota miatt fordul elő.
Megoldás
Ezt a javítást a SQL Server következő frissítései tartalmazzák:
8. összegző frissítés SQL Server 2017-hez
1. összegző frissítés a 2016.SQL Server 2. szervizcsomaghoz
9. összegző frissítés a 2016. SQL Server 1. szervizcsomaghoz
A SQL Server buildek ismertetése
A SQL Server minden új buildje tartalmazza az előző buildben található összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy telepítse a legújabb buildet a SQL Server verziójához:
Kerülő megoldás
A probléma megkerüléséhez a 3459-ös nyomkövetési jelző engedélyezésével egyetlen ismétlési szálat használhat párhuzamos ismétlési szál helyett.
További információ
Ha írásvédett lekérdezések futnak egy olvasható másodlagos replikán, a lekérdezésszálak függőben lévő napló-újrapróbálkozási műveleteket kísérelnek meg alkalmazni, és DIRTY_PAGE_TABLE_LOCK várakozással együtt kell működniük az újravégző munkaszálakkal, amelyek gyakran generálhatók, és lelassíthatják az ismétlést és a lekérdezési teljesítményt, ha vannak egyidejű ismétlési számítási feladatok. A várakozás DIRTY_PAGE_TABLE_LOCK kapcsolatos teljesítményproblémát a cikkben említett SQL Server 2016 SP és SQL Server 2017 kumulatív frissítési kiadásában oldjuk meg.
További információért tekintse meg a következő blogot a rendelkezésre állási csoport másodlagos replikájának ismétlési modelljéről és teljesítményéről.
Állapot
A Microsoft megerősítette, hogy ez a probléma „A következőkre vonatkozik:” részben felsorolt Microsoft-termékekre vonatkozik.
Hivatkozások
Ismerje meg a Microsoft által a szoftverfrissítések leírására használt terminológiát .