Я использую SQL Server 2008 R2 Developer в Windows 7 x64 в качестве экземпляра по умолчанию. По какой-то причине счетчики производительности SQL Server, похоже, исчезли. SELECT * FROM sys.dm_os_performance_counters
возвращает ноль строк
Я пытался бежать lodctr /T:perf-MSSQLSERVERsqlctr.ini
. Хотя он завершился без ошибок, он ничего не исправил, даже после перезапуска службы удаленного реестра. Фактически, счетчики теперь отсутствуют в perfmon. unlodctr MSSQLSERVER
все еще говорит, что счетчики не установлены, но lodctr /Q:MSSQLSERVER
говорит, что они присутствуют и включены. Обычные счетчики Windows и .NET работают нормально.
В журнале ошибок Windows я вижу ошибку 8317:
Не удается запросить значение «Первый счетчик», связанное с разделом реестра «HKLM \ SYSTEM \ CurrentControlSet \ Services \ MSSQLSERVER \ Performance». Счетчики производительности SQL Server отключены.
Я подозреваю, что проблема могла быть вызвана ошибкой установки SQL 2012 RC0. Любые предложения о том, как восстановить, кроме переустановки SQL Server 2008 R2?
Ответы:
Попробуйте
lodctr /R
, он перестроит все счетчики производительности из информации, хранящейся в реестре.источник
lodctr /R
сделал свое дело и восстановил их всех. Большое спасибо за трюк.Прочитайте это:
http://blogs.msdn.com/b/psssql/archive/2009/03/03/troubleshooting-sql-server-2005-2008-performance-counter-collection-problems.aspx
Точные инструкции не на 100% верны. Вы должны сделать это, предполагая, что вы используете экземпляр по умолчанию:
Затем перезагрузите компьютер.
источник
Отсутствие счетчиков производительности является повторяющейся проблемой.
Некоторые известные решения перечислены здесь: http://blogs.msdn.com/b/varund/archive/2010/06/25/sql-server-missing-performance-counters-a-consolidated-list-of-known-issues .aspx
источник
Похоже, что счетчики производительности для SQL Server отключены или записи реестра для счетчиков производительности повреждены.
lodctr /E:MSSQLSERVER
перезагрузит параметры реестра счетчика производительности.источник
Если вы используете 32-разрядную версию SQL Server в 64-разрядной установке Windows, вам необходимо использовать 32-разрядную версию системного монитора для просмотра счетчиков, как описано в этом блоге MSDN . Сделайте это, используя любой из этих методов:
perfmon.exe
из%windir%\SysWOW64
папкиmmc /32 perfmon.msc
Также убедитесь, что вы используете SQL Server с последним пакетом обновления и исправлениями. В статье 2708726 MSKB описана проблема, из-за которой DLL-файлы системного монитора не обновляются должным образом при применении обновлений к SQL Server 2008 R2 или SQL Server 2012.
источник