Назад | Перейти на главную страницу

Системный монитор не может добавлять счетчики от поставщиков данных .NET

Я пытаюсь отслеживать подключения к базе данных с помощью монитора производительности, но по какой-то причине больше не могу добавлять счетчики.

Каждый набор счетчиков, кроме двух поставщиков данных .NET (для Oracle и SQL Server), работает нормально.

Это работало не 10 минут назад, а просто прекратилось. Я пробовал перезагрузить бокс, но без разницы.

Предложения о том, как выяснить, как их снова включить?

Вот решение:

Откройте cmd и выполните следующие команды:

regsvr32 /u netfxperf.dll
regsvr32 netfxperf.dll

Примечание. Похоже, что если вы запускаете профилировщик и убиваете IIS, не останавливая его, у вас возникает эта проблема.

Примечание: принятый ответ не относится к Windows 7 x64.

Похоже, что на новой платформе netfxperf.dll вообще не является COM-dll. Следовательно, использование regsvr32 на нем не сработает. В этом можно убедиться, используя несколько методик - проверка реестра, запуск Мусорная корзина, используя, среди прочего, Dependency Walker.

Для меня восстановление моих счетчиков производительности (lodctr / R), как описано Вот и перезагрузка устранила проблему.

Однажды у меня тоже была эта проблема. Windows, кажется, отключает счетчики производительности после определенного количества сбоев при попытке их открыть. Я переопределил это и больше никогда не имел проблем, удалив ключ реестра.

Откройте regedit и найдите SqlServer \ Performance в разделе HKLM \ SYSTEM \ CurrentControlSet \ Services.NET Data Provider. Я не могу вспомнить точное имя ключа (DisablePerformanceCounters?), Но его имя будет бросаться в глаза, поскольку оно объясняет, почему он отключен. Удалите ключ. Думаю, на лету подействует, но может потребоваться перезагрузка.

Я знаю, что это звучит немного схематично, тем более, что я не могу вспомнить имя ключа, но я знаю, что видел такое поведение, и удаление ключа исправило его для меня.