Symptomy
Załóżmy, że używasz replikacji scalającej w programie Microsoft SQL Server 2012 lub Microsoft SQL Server 2014. W ramach procesu synchronizacji Agent scalania wprowadza nową generację sesji. Jeśli z jakiegoś powodu, na przykład zakleszczenie lub przekroczenie limitu czasu, transakcja generowania jest wybierana jako ofiara zakleszczenia, a transakcja jest wycofywana, może istnieć duży łańcuch blokowania dla blokady aplikacji MSinternal_makegeneration_inprogej w nadchodzących procesach generacji, a sesja została wyświetlona jako blokada głowic.
Przyczyna
Blokada aplikacji, która ułatwia zabezpieczenie procesu tworzenia generacji, to blokada aplikacji na poziomie sesji. Po wykryciu zakleszczenia w trakcie procesu tworzenia generacji tylko transakcja jest wycofywana, ale sesja nie jest wylogowana. Aby zwolnić blokadę aplikacji na poziomie sesji, sesja musi zostać wylogowaniu. Z tego powodu logika ponawiania próby (sesja nie zostanie wylogowana w trakcie generowania replikacji scalającej), jeśli wykonanie pierwszej generacji nie powiodło się z powodu zakleszczenia, blokada sesji (MSinternal_makegeneration_inprog) , która zostanie uzyskana, nie zostanie zwolniona podczas wycofywania transakcji. Powoduje to blokowanie żądań zablokowania w procesie tworzenia przyszłych generacji. Tabliczka Head jest wyświetlana jako żądanie pierwszej generacji, które nie powiodło się z powodu zakleszczenia. Przed wykonaniem tej poprawki program SQL Server czyści tylko blokadę prawidłowego procesu generowania generacji. Pozostawia oddzieloną aplikację Session Lock przed wylogowaniem sesji, jeśli wystąpi zakleszczenie.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 5 dla programu SQL Server 2014 /en-us/help/3011055
Zbiorcza aktualizacja 3 dla programu SQL Server 2012 z dodatkiem SP2 /en-us/help/3002049
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".