SQL Server 2008 Management Studio Express installation error: Performance counter registry hive consistency (failed)
Wed-2009-05-20 29 Comments
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’.
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:
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:
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.
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.
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!
Super. Thanks!
It works! Lucky that I didn’t follow down the path to reset all my registry settings as suggested by the installer.
Perfect! It works!
Dear Yuri,
What I need to change of the following registry ?
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Perflib09
Best Regards,
Rico
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…
Used procmon (regmon is deprecates), found 016 to be the key to create… and voila… worked!
Many thanks!
José Cruz
Problem resolved.
Very good explanation!
Great post!
Thank you,
Pedro Assunção.
I don’t know how to copy the values from 009 to 00A (spanish version).
I get an error message.
Help please
For me the reinstallation of .NET Framework 3.5 helped!
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.
Excellent!!! Amazing bug in m$ install…
Pingback: 2010 in review | Yuri's Technology Blog
GREAT JOB!!! It works!
Awesome! Thanks!
MauroPreg you are a life saver dude thanks a lot ! ! !
Yuri, Thanks !
Working with a dutch version of W2k8R2 and thsi solved the problem.
Thanks a lot for sharing.
016 for portuguese
016 para português
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 !
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 !
Thanks YURI!
It works perfectly!!!
Worked brilliant on 2008 R2 Foundation. Had exactly the same issues pointed by procmon.
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
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
thank you very much for your tremendous support
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
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
Hurrah! In the end I got a blog from where I be able to truly obtain useful
facts concerning my study and knowledge.
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,