SQL Server 2008 Management Studio Express installation error: Performance counter registry hive consistency (failed)

I tried to install the SQL Server 2008 Management Studio for my SQL Server 2008 Express installation and received the error ‘Performance counter registry hive consistency’ with status ‘Failed’.

perfomance1

Log file:

InstallGlobalRules: SQL Server 2008 Setup configuration checks for rules group ‘InstallGlobalRules’
PerfMonCounterNotCorruptedCheck Checks if existing performance counter registry hive is consistent. Failed The performance counter registry hive is corrupted. To continue, you must repair the performance counter registry hive. For more information, see http://support.microsoft.com/kb/300956.

So I went to the Microsoft KB article that is supposed to help me out: KB300956. What a nightmare. After I finally removed the values for all FirstCounter, LastCounterer, FirstHelp and LastHelp entries and rebooted my PC… nothing changed. Oh wait, I forgot to run lodctr /R. Hmm, that requires input from the ini files I ‘lodctr-ed’ before the reboot. Hrrmphh. OK, done. Same setup error, grrr.

After some more searching I found a clue that pushed me in the right direction. I fired up Regmon(everyone should have the Sysinternal tools!) and excluded al running processes except setup100.exe. I pressed the Rerun button on the setup screen. I did a search for Perflib and came up with this:

perfomance2

I exported my HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Perflib09 registry key. Edited it to point to 013 and inserted it back into the registry. Same with 0413. Pressed rerun again and viola:

perfomance3

This obviously has everything to do with not running a US English Windows version. I can’t believe Microsoft didn’t test this on non-English systems though. Well.. maybe I can =)

I hope this helps out some people who got this annoying error.

perfomance4

Oh and by the way. If you receive the error ‘Restart computer with Status: Failed’, Just rename the PendingFileRenameOperations key in HKLM\SYSTEM\CurrentControlSet\Control\SessionManager to something else and re-create the REG_MULTI_SZ key again, but of course leave it empty =)

This is a generic tip that can help you with many equivalent errors of all kinds of software.

About Yuri de Jager
Technology Addict

29 Responses to SQL Server 2008 Management Studio Express installation error: Performance counter registry hive consistency (failed)

  1. Yuriy says:

    Good job Yuri! Thanks for finding this workaround. I just installed Ukrainian Win7 RC and got the problem installing SQL 2008. But adding set of perf counters for 022 helped.
    I will try to followup with Windows folks about that. I believe that is their bug.
    Thanks again!

  2. Igor says:

    Super. Thanks!

  3. iadea says:

    It works! Lucky that I didn’t follow down the path to reset all my registry settings as suggested by the installer.

  4. MikeL says:

    Perfect! It works!

  5. Rico Mak says:

    Dear Yuri,

    What I need to change of the following registry ?
    HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Perflib09

    Best Regards,
    Rico

  6. MauroPreg says:

    I have the same problem when try to install SQL Server 2008 Standart Edition in a OS Win7 (after uninstall mi old version SQL Server 2005)… and the registry key:
    “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib09” has values and
    “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib0A” was emty.
    So, I do a copy from 009 to 00A (values Counter/Help);
    And that’s it!!!

    Here we could find some values for diferent regional configurations (LCID), if we needed: http://javascripts.astalaweb.com/Ayuda/html/vsmsclcid.asp

    Yo tenia el mismo problema cuando trate de instalar SQL Server 2008 Standart Edition en un OS Win7 (después de desinstalar mi vieja version de SQL Server 2005)… y la llave del registro:
    “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib09” tenía valores y
    “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib0A” estaba vacía.
    Asi que hice una copia del valor 009 al 00A (valores Counter/Help);
    Y eso es todo!!!

    Acá podemos encontrar algunos valores para diferentes configuracione regionales (LCID), si los necesitamos: http://javascripts.astalaweb.com/Ayuda/html/vsmsclcid.asp

    Best Regards…

  7. José Cruz says:

    Used procmon (regmon is deprecates), found 016 to be the key to create… and voila… worked!
    Many thanks!
    José Cruz

  8. Pedro Assunção says:

    Problem resolved.
    Very good explanation!
    Great post!

    Thank you,

    Pedro Assunção.

  9. David says:

    I don’t know how to copy the values from 009 to 00A (spanish version).
    I get an error message.
    Help please

  10. gnoks says:

    For me the reinstallation of .NET Framework 3.5 helped!

  11. goncik says:

    Yes, yes, yes! It works but in my case I exported key 009, change it into 015 and import to the registery.
    This was on Windows 2008 R2 and SQL Server 2008 Std. Both Polish.

  12. Marco Lopes says:

    Excellent!!! Amazing bug in m$ install…

  13. Pingback: 2010 in review | Yuri's Technology Blog

  14. Grigor says:

    GREAT JOB!!! It works!

  15. hbatista says:

    Awesome! Thanks!

  16. Manolo says:

    MauroPreg you are a life saver dude thanks a lot ! ! !

  17. Tino says:

    Yuri, Thanks !

    Working with a dutch version of W2k8R2 and thsi solved the problem.

  18. Pedro Sousa says:

    Thanks a lot for sharing.

    016 for portuguese

    016 para português

  19. Karin says:

    what a life saver!
    my Perflog for the German version had number 007

    für Deutsche Windows Version muß der 009 Perflog Schlüssel auf 007 editiert und re-importiert werden. Halleluja !

  20. Renaud says:

    Wow, 5 months ago, I encountered the same issue, I didn’t want to los my nerves over a performance counters rebuild (and I’m glad I didn’t).
    Today I decided to retry installing the Management Studio and with your trick, it worked !

    Thanks a lot for sharing this !

  21. Aidar says:

    Thanks YURI!
    It works perfectly!!!

  22. Rafal says:

    Worked brilliant on 2008 R2 Foundation. Had exactly the same issues pointed by procmon.

  23. Anthony says:

    Thanks Yuri, i’m using a brandnew sbs2011 dutch version and i copied the 009 and edited the registry key to 013, imported it and it worked.

    Once again, thanks

  24. Tomek says:

    Super, thank you !
    I had the same problem (Win 2011 Essentials – Polish) and SQL Server Express 2008 R2,
    exported reg-key 009 and edited to 015, imported it and it works.

    Microsoft and his articles and his support has not helped me!

    TomekP

  25. Kady says:

    thank you very much for your tremendous support

  26. io says:

    Thanks Yuri.
    For all dummy users:
    1. Start regedit
    2. Search HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib09
    3. Export it to a file. You can use right button on your mouse.
    4. Start notepad and open this file
    5. And search [HKEY-Local_Machine\…\Perflib09]
    6. Replace 09 by 00a for Spanish, 007 for german …
    7. Save this file
    8. Import it with regedit

    • Kacedi says:

      Well guys, the solution to the problem is the following:
      1. clic in: Start
      2. write the word: ejecut
      3. After, write: regedit
      4. Open the directory: HKEY_LOCAL_MACHINE
      5. SOFTWARE
      6. Microsoft
      7. Windows NT
      8. CurrentVersion
      9. Perflib
      10. Check the following:
      Folder 00A:
      Counter: the last number
      Help: the last number

      Folder Perflib:
      Last Counter: 00A folder´s Counter
      Last Help: 00A folder´s Help

      Ready, verify the same number in both. success

  27. Diagnostic Medical Sonographers Schools says:

    Hurrah! In the end I got a blog from where I be able to truly obtain useful
    facts concerning my study and knowledge.

  28. mdarkslide says:

    I have Windows 8 Spanish, I installed English language packet.
    Delete the 00A folder and exported the “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib09″, then edit it with the notepad and replaced the 009 by 00A [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib0A], and save it, then merge the registry and it is done,

Leave a comment