Czy jest jakaś poprawka, aby monitor aktywności SSMS działał?
Problem:
Monitor aktywności programu SQL Server kończy się niepowodzeniem z wyświetleniem okna dialogowego błędu:
TYTUŁ: Microsoft SQL Server Management Studio
Monitor aktywności nie może wykonywać zapytań przeciwko serwerowi [SERVER]. Monitor aktywności dla tego wystąpienia zostanie przełączony w stan wstrzymania. Użyj menu kontekstowego w panelu przeglądu, aby wznowić Monitor aktywności.INFORMACJE DODATKOWE:
Nie można znaleźć identyfikatora procesu SQL Server [PID] na serwerze [SERWER] (Microsoft.SqlServer.Management.ResourceMonitoring)
Mam ten problem w SQL Server 2008 R2 x64 Developer Edition, ale myślę, że można go znaleźć we wszystkich 64-bitowych systemach korzystających z SQL Server 2008, pod pewnymi niezidentyfikowanymi warunkami.
W Microsoft Connect znajduje się raport o błędzie , ale nie został on jeszcze rozwiązany.
Odpowiedzi:
Sprawdź, czy liczniki wydajności SQLServer istnieją w Monitorze wydajności. Jeśli nie, ręcznie odbuduj wszystkie liczniki wydajności, uruchamiając
lodctr /R
polecenie z uprawnieniami administratora:źródło
OK, myślę, że znalazłem rozwiązanie.
Wydaje się, że problem polega na połączeniu 32-bitowych i 64-bitowych aplikacji, które muszą przesyłać sobie zapytania.
Jeśli włączysz usługę Host DLL licznika wydajności w panelu sterowania Usługi, Monitor aktywności powinien teraz działać.
źródło
W najprostszym przypadku wszystko, co musisz zrobić, to zrestartować SSMS. Właśnie miałem ten problem z SSMS 2008 R2 działającym na serwerze 2005 po utracie połączenia sieciowego podczas działania Monitora aktywności. Wypróbowałem kilka sztuczek, zanim zdecydowałem się ponownie uruchomić SSMS i to pomogło.
źródło
Jeśli SQL działa na serwerze lub klastrze Windows 2008 R2, przejdź do aplikacji Monitor wydajności, rozwiń Zestawy gromadzenia danych, a następnie wybierz Wydajność systemu, jeśli strzałka jest zielona w linii poniżej menu, po prostu kliknij ją. Spowoduje to ponowne uruchomienie liczników, możesz zrobić to samo dla zestawu kolekcji Diagnostyka systemu.
Następnie odśwież lub otwórz nowe połączenie z wystąpieniem SQL, dla którego chcesz otworzyć Monitor aktywności SSMS, powinno to rozwiązać problem.
Właśnie wpadłem na to dzisiaj. Oczywiście komunikat o błędzie „Użyj menu kontekstowego w panelu przeglądu”, aby wznowić Monitor aktywności, nie pomógł mi w najmniejszym stopniu.
Mam nadzieję, że to komuś pomoże.
źródło
Myślałem, że opublikuję swoje doświadczenia z tym problemem.
Objawy - SQL Server 2008 R2 na komputerze Dell nagle uległ znacznemu pogorszeniu wydajności. Aplikacje użytkownika stały się bardzo wolne podczas wykonywania zapytań. Rozpocznie się monitorowanie aktywności - ale przy próbie otwarcia listy procesów wystąpiłby błąd przekroczenia limitu czasu procesu.
Przywrócone kopie zapasowe baz danych działały poprawnie na drugim serwerze z połową pamięci. Przywrócenie tych samych kopii zapasowych na oryginalnym serwerze nie rozwiązało problemu.
Uruchomiłem dbcc na wszystkich bazach danych, przebudowałem indeksy. Wymuszone ponowne utworzenie pliku strony Windows. Próbowałem zrestartować serwer SQL. Próbowałem ponownie uruchomić serwer. Żaden z nich nie działał. Zresetuj liczniki wydajności zgodnie z powyższym opisem - poprawiło to użycie procesora serwera, ale nie rozwiązało żadnych problemów.
Nasz administrator sieci chciał wykluczyć problemy ze sprzętem. Zaktualizował sterowniki urządzeń dla kontrolerów RAID, a następnie wyłączył serwer. Użył sekwencji zasilania z Dell, aby wyczyścić pamięć, co wiązało się z odłączeniem zasilania. Po ponownym uruchomieniu serwer działał poprawnie.
Uważamy, że cykl zasilania rozwiązał problem i że podstawowym problemem była pamięć sprzętowa.
źródło
Otrzymywałem ten sam komunikat o błędzie i przeglądałem Szczegóły techniczne. Doprowadziło mnie to do Microsoft.SqlServer.Management.ResourceMonitoring.dll. Zdekompilowałem metodę zgłaszania błędu i po odrobinie śledzenia kodu znalazłem obszar, w którym PerformanceCounter w grupie „Process” próbował utworzyć instancję. Cóż, zameldowałem się w Perfmon i tej grupy nie było. Inne liczniki działały, ale tego nie było. Wygląda na to, że ta grupa jakoś została wyłączona.
Jak to naprawić: Użyj regedit, aby znaleźć HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance Jest tam klucz o nazwie Wyłącz liczniki wydajności, usuń go lub ustaw na 0. Może być konieczne ponowne uruchomienie po zmianie klucza.
źródło
Nie mogę jeszcze komentować, dlatego nowa odpowiedź ...
Najpierw spróbowałem propozycji EightVans
Nadal miałem problem. Potem spróbowałem sugestii renauda:
Nadal miałem problem. Potem wypróbowałem sugestię Miki:
Teraz monitor aktywności działa!
źródło
po prostu robię
Pierwsza propozycja EightVans
Jak to naprawić: Użyj regedit, aby znaleźć HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance Jest tam klucz o nazwie Wyłącz liczniki wydajności, usuń go lub ustaw na 0. Może być konieczne ponowne uruchomienie po zmianie klucza.
i sugestia Miki:
Sprawdź, czy liczniki wydajności SQLServer istnieją w Monitorze wydajności. Jeśli nie, ręcznie odbuduj wszystkie liczniki wydajności z uruchomioną komendą lodctr / R z uprawnieniami administratora:
Monitor aktywności jest teraz uruchomiony w moim systemie!
źródło