Co spowodowałoby zawieszenie zapytania w Management Studio?Zawieszony status w monitorze aktywności SQL
- Wykonuję prosty wybór 60000 najlepszych z tabeli (która ma 11 milionów wierszy), a wyniki wracają w ciągu sekundy lub dwóch.
- Zmieniam zapytanie na górę 70000, a wyniki potrwają do 40 minut.
Z robienia czegoś na innym, ale pokrewnym problemie natrafiłem na kogoś używającego DBCC FREEPROCCACHE, żeby to naprawić.
- Uruchamiam DBCC FREEPROCCACHE, a następnie ponawiam zapytanie dla 70000 i wygląda na to, że działa.
Jednak nadal występuje problem z innym zapytaniem.
- Zwiększam, aby powiedzieć 90000 lub gdy spróbuję otworzyć tabelę przy użyciu [Prawy-> Otwórz tabelę], ciągnie się około 8000 rekordów i zatrzymuje się.
Sprawdzanie dziennika aktywności w przypadku otwierania tabeli pokazuje, że sesja została zawieszona z typem oczekiwania "Async_Network_IO". Dla sesji działającej z wyborem 90000 status to "Spanie", to jest ten sam status dla powyższego wyboru zapytania 70000, które powróciło, ale za 45 min. Dziwne jest dla mnie, że status pokazuje "Spanie" i wydaje się, że nie zmienia się na "Runow" (mam aktywny monitor odświeżający o 30 sekund).
Dodatkowe uwagi:
- Ja nie działa zarówno Otwórz tabelę i wybierz 90000 w tym samym czasie. Wszystkie zapytania są wykonywane pojedynczo.
- Używam 32-bitowego SQL Server 2005 SP2 CU9. Próbowałem przejść na dodatek SP3, ale wystąpił błąd instalacji. Problemy pojawiły się przed próbą aktualizacji.
- Konfiguracja serwera to klaster aktywny/aktywny, w którym problem występuje w każdym węźle, a drugie wystąpienie nie występuje w tym przypadku.
- Mam ~ 20 innych baz danych na tej samej instancji serwera, ale tylko ten jeden DB widzi problem.
- Ta baza danych staje się dość duża. Obecnie wynosi 76756,19 MB. Plik danych ma 11,513 MB.
- Jestem zalogowany lokalnie w polu Serwer przy użyciu Pulpitu zdalnego.