Używam programisty SQL Server 2008 R2 Developer na Windows 7 x64, jako instancji domyślnej. Z jakiegoś powodu liczniki wydajności programu SQL Server wydają się zniknąć. SELECT * FROM sys.dm_os_performance_counters
zwraca zero wierszy.
Próbowałem biec lodctr /T:perf-MSSQLSERVERsqlctr.ini
. Chociaż zakończyło się bez błędów, niczego nie naprawiło, nawet po ponownym uruchomieniu usługi Rejestru zdalnego. W rzeczywistości liczniki zniknęły z perfmon. unlodctr MSSQLSERVER
nadal mówi, że liczniki nie są zainstalowane, ale lodctr /Q:MSSQLSERVER
mówi, że są obecne i włączone. Zwykłe liczniki Windows i .NET działają dobrze.
W dzienniku błędów systemu Windows widzę błąd 8317:
Nie można wyszukać wartości „Pierwszy licznik” powiązanej z kluczem rejestru „HKLM \ SYSTEM \ CurrentControlSet \ Services \ MSSQLSERVER \ Performance”. Liczniki wydajności programu SQL Server są wyłączone.
Podejrzewam, że problem mógł zostać wywołany przez instalację SQL 2012 RC0, która zakończyła się niepowodzeniem. Wszelkie sugestie dotyczące sposobu odzyskania, bez ponownej instalacji programu SQL Server 2008 R2?
Odpowiedzi:
Spróbuj
lodctr /R
, odbuduje wszystkie liczniki wydajności z informacji przechowywanych w rejestrze.źródło
lodctr /R
wykonał lewę i przywrócił je wszystkie. Dziękuję bardzo za podstęp.Przeczytaj to:
http://blogs.msdn.com/b/psssql/archive/2009/03/03/troublesh-sql-server-2005-2008-performance-counter-collection-problems.aspx
Dokładne instrukcje nie są w 100% poprawne. Musisz to zrobić, zakładając, że używasz domyślnej instancji:
Następnie uruchom ponownie.
źródło
Brakujące liczniki wydajności to powtarzający się problem.
Niektóre znane rozwiązania są wymienione tutaj: http://blogs.msdn.com/b/varund/archive/2010/06/25/sql-server-missing-performance-counters-a-consolidated-list-of-known-issues .aspx
źródło
Wygląda na to, że liczniki wydajności dla programu SQL Server są WYŁĄCZONE lub wpisy rejestru dla liczników wydajności są uszkodzone.
lodctr /E:MSSQLSERVER
ponownie załaduje ustawienia rejestru licznika wydajności.źródło
Jeśli używasz 32-bitowej wersji programu SQL Server w 64-bitowej instalacji systemu Windows, musisz użyć 32-bitowej wersji programu Performance Monitor, aby wyświetlić liczniki, jak wyjaśniono w blogu MSDN . Zrób to za pomocą jednej z następujących metod:
perfmon.exe
z%windir%\SysWOW64
folderummc /32 perfmon.msc
Upewnij się także, że korzystasz z programu SQL Server z najnowszym dodatkiem Service Pack i poprawkami. Artykuł 2708726 MSKB opisuje problem polegający na tym, że pliki .dll Monitora wydajności nie są poprawnie aktualizowane podczas stosowania aktualizacji do SQL Server 2008 R2 lub SQL Server 2012.
źródło