Príznaky
Predpokladajme, že používate replikáciu zlúčenia v systéme Microsoft SQL Server 2012 alebo Microsoft SQL Server 2014. Ako súčasť procesu synchronizácie vytvára agent zlúčenia novú generáciu v relácii. Ak je z nejakého dôvodu, napríklad v prípade zablokovania alebo časového limitu, transakcia uskutočňujúca generáciu vybraná ako obeť zablokovania a transakcia sa vráti späť, v nadchádzajúcej generácii môže dôjsť k MSinternal_makegeneration_inprog veľkému reťazcu blokovania uzamknutia aplikácie a vyššie uvedená relácia sa zobrazí ako blokovanie hlavy.
Príčina
Zámok aplikácie, ktorý sa používa na zabezpečenie procesu vytvárania generácie, je zámok aplikácie na úrovni relácie. Keď sa počas procesu vytvárania generácie zistí zablokovanie, vráti sa späť iba transakcia, ale relácia sa neodhlási. Ak chcete uvoľniť uzamknutie aplikácie na úrovni relácie, relácia sa musí odhlásiť. Z tohto dôvodu sa z dôvodu návrhu logiky opakovania (relácia nebude počas generovania zlyhania pri zlúčení replikácie odhlásená) v prípade, že vytváranie prvej generácie zlyhá so zablokovaním, získaný zámok relácie (MSinternal_makegeneration_inprog) sa počas vrátenia transakcie neuvoľní. Spôsobí to blokovanie reťaze žiadostí o uzamknutie v procese vytvárania nadchádzajúcej generácie. Hlava blokovanie sa zobrazuje ako prvá generácia zadávajúca požiadavku, ktorá zlyhá pri zablokovaní.
Pred rýchlou opravou SQL Server vymaže zámok iba pre úspešný proces vytvárania generácie. V prípade zablokovania osamotenej relácie zostane osamotená relácia uzamknutá pred odhlásením relácie.
Riešenie
Tento problém bol prvýkrát opravený v nasledujúcej kumulatívnej aktualizácii SQL Server.
Kumulatívna aktualizácia 5 pre SQL Server 2014 /en-us/help/3011055
Kumulatívna aktualizácia 3 pre SQL Server 2012 SP2 /sk-SK/help/3002049
Informácie o kumulatívnych aktualizáciách pre SQL Server
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcej kumulatívnej aktualizácii. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
- Najnovšia kumulatívna aktualizácia pre SQL Server 2014
- Najnovšia kumulatívna aktualizácia pre SQL Server 2012 SP2
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.