Objawy
Rozważ następujący scenariusz:
-
Uruchom ALTER INDEX... ONLINE kwerendy w 2014 r. programu SQL Server lub Microsoft SQL Server 2012.
-
Ta kwerenda została przerwana z powodu zakleszczenia lub Akcja inicjowane przez użytkownika, takie jak uruchamianie polecenia kill lub anulowanie kwerendy.
W tym scenariuszu wszystkie operacje DML, które trzeba używać Metadane indeksu są blokowane lub zająć dużo czasu do uzupełnienia.
Ponadto mogą wystąpić następujące symptomy:
-
Podwyższone wartości dla PWAIT_MD_RELATION_CACHE lub MD_LAZYCACHE_RWLOCK odczekaj typu kwerendę sys.dm_os_wait_stats i sys.dm_exec_requests dynamicznych widoków zarządzania (DMV)
-
Podwyższone wartości dla SOS_RW odczekaj typu kwerendę sys.dm_os_spinlock_stats DMV
Ten problem jest zwykle występuje jako konwoju blokada występujący podczas każdej nowej kwerendy DML powoli czyści obiektów synchronizacji. Ze względu na charakter oczekujących obiektów synchronizacji użycie Procesora jest zwykle ograniczona.
Rozwiązanie
Informacje dotyczące zbiorczej aktualizacji
Ten problem został po raz pierwszy rozwiązany w następujących aktualizacji zbiorczej programu SQL Server.
Zbiorcza aktualizacja 1 dla programu SQL Server 2014/en-us/help/2931693
Zbiorcza aktualizacja 9 dla dodatku SP1 dla programu SQL Server 2012/en-us/help/2931078
Każda nowa aktualizacja zbiorcza dla programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzedniej zbiorczej aktualizacji. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
-
Najnowszą aktualizację zbiorczą dla programu SQL Server 2014
-
Najnowszą aktualizację zbiorczą dla programu SQL Server 2012 z dodatkiem SP1
Informacje o poprawce
Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Tylko w systemach, których dotyczy ten problem, należy zastosować tę poprawkę.
Jeśli poprawka jest dostępna do pobrania, pojawi się sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Jeśli nie ma tej sekcji, należy przesłać żądanie do centrum obsługi klienta firmy Microsoft i obsługi technicznej w celu uzyskania poprawki.
Uwaga Dodatkowych problemów lub konieczności rozwiązania problemu, być może trzeba utworzyć osobne zlecenie usługi. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi odwiedź następujące witryny firmy Microsoft:
http://support.microsoft.com/contactus/?ws=supportUwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których dostępna jest poprawka. Jeśli odpowiedni język nie jest widoczny, to dlatego, że poprawka nie jest dostępna dla danego języka.
Ważne: Po zastosowaniu tej poprawki, zmiany INDEKSU... ONLINE kwerendy może zostać przerwana bez zmniejszania wydajności programu SQL Server.
Obejście problemu
Aby obejść ten problem, można opróżnić metadanych wpisu zapobiegających konwoju blokady i potencjalnych cykli ponownej kompilacji, które zmniejszyć wydajność kwerend. Aby to zrobić, użyj jednej z następujących metod pomóc opróżnić metadanych wpisu:
-
Ponownie uruchom wystąpienie programu SQL Server 2012 lub 2014 serwera SQL.
-
Umieścić problematyczne bazę danych do trybu offline, a następnie powrotem w tryb online.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.