Fun with software : uninstalling SQL Server 2008 R2 Evaluation Edition

Update 2012-07-23  :  Note that much of these instructions also work for SQL Server 2012 Evaluation Edition, many of which will start expiring soon…

 

Here we go 'round the uninstall bush…

Today I spun up a rather aging VM so that I could take some screen shots from the 2008 R2 version of Management Studio.

When I clicked on my shortcut, I received this error:

 

For searchability, here is the text (with an actual clickable link, imagine that):

—————————
Microsoft SQL Server Management Studio
—————————
Evaluation period has expired. For information on how to upgrade your evaluation software please go to http://www.microsoft.com/sql/howtobuy
—————————
OK  
—————————

Of course what this meant was that, for this particular VM, I had installed an Enterprise Evaluation instance before the RTM bits for Developer Edition were available.  And clearly this happened more than 180 days ago, and I forgot about it.

If you go the link (which ends up at http://www.microsoft.com/sqlserver/en/us/default.aspx), there isn't really any information about converting evaluation software to licensed software (even if I already have licensed bits in hand).  In fact there is not really any information about Evaluation Edition at all, except for an offer to install a second trial instance on my machine.  I'm trying to remove one, but thanks anyway.

So the first thing I do is to install a real, licensed version of SQL Server 2008 R2 Developer Edition.  I figure, if anything, it will at least give me a functional Management Studio again, even if I have an outdated Evaluation Edition engine lying around.  Nope, I run through install, and when I try to launch Management Studio, my evaluation period has still expired.  I plead to #sqlhelp on twitter, and I'm told I need to remove all of the 2008 R2 bits.  This was the first time I'd had any reason to uninstall 2008 R2; at my previous job, we had only just migrated to 2008 in production late last year.  I guess I should test cleanup more often.

Now, removing SQL Server 2008 R2 turns out to be a much bigger challenge than you might expect.  Sure, you can go through the Control Panel and uninstall all of the components individually, but this is a hassle, and it still might not work very smoothly.  To clear a path, I've been uninstalling applications that might be related (e.g. Visual Studio), and even applications with no hope in hell of being related: Office 2010, Flash, Windows Live "Essentials"… I even uninstalled an instance of SQL Server 2008 (not an eval), and when I tried to remove the setup support files, I received this warning:

 

Why on earth are the R2 Common Files dependent on SQL Server 2008 Setup Support Files?  And further to that, I'd like to know why, when I clicked No on this dialog, it seemed to remove the SQL Server 2008 Setup Support Files anyway.  It turns out there is some flag that removes the entry from the Programs and Features list, even if you don't go through with the uninstall.  All was returned to normal when I closed the window and opened it again.

Anyway, let's see what happens when I try to remove R2 via the Control Panel.  I right-click the item in the list (and as you can see, "the list" is pretty short – and never mind the blurred out entries, I'll talk more about those soon, and they aren't related to R2):

 

When I choose Uninstall/Change, I get this box, and I click Remove of course:

 

When I click Remove, I get the Setup Support Rules dialog (just like I do for a new installation), and then when I click OK, I get this lovely dialog (I trimmed it so I wouldn't have to shrink it, but you get the gist):

 

Why does this not seem like it will end well? 

Because according to the dialog, nothing is going to be removed (usually you see actual features with checkboxes).  I should not even be able to see a Next > button.  But for fun, I'll click it anyway, since my only other option at this point is to Cancel.  I click Next > a couple of times, then a big shiny Remove button, and then after several seconds I get another even more lovely dialog, indicating that the uninstall has crashed:

 

And again for searchability (typo and all):

TITLE: SQL Server Setup failure.
——————————

SQL Server Setup has encountered the following error:

No feature were uninstalled during the setup execution. The requested features may not be installed. Please review the summary.txt logs for further details.

Error code 0x84B30002.

——————————
OK
——————————

At this point I've spent more time on this than I would have if I had just built a brand new VM and started over.  But I was determined to see it through.  So I finally gave in and decided to go the msiexec.exe /x route.  I located all of the R2-related GUIDs in the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\

Here is one example:

 

So I went through the entire list, and saved the following commands to a batch file:

rem DisplayName
msiexec /x "{guid}"

And I also added one that wasn't in the GUID list; there was a key under Uninstall called "Microsoft SQL Server 2008 R2" with the following properties:

 

Here is what my final .bat file looked like. You'll note that I put the Setup Support Files last.  Also please note that your set of GUIDs may be different than mine… I'm just listing what I did as an example:

rem SQL Server 2008 R2 Common Files
msiexec /x "{234F6B0D-10AE-4BB7-B2F3-E48D4861952D}"

rem SQL Server 2008 R2 Common Files
msiexec /x "{36F70DEE-1EBF-4707-AFA2-E035EEAEBAA1}"

rem SQL Server 2008 R2 Database Engine Shared
msiexec /x "{A2122A9C-A699-4365-ADF8-68FEAC125D61}"

rem Microsoft SQL Server 2008 Setup Support Files
msiexec /x "{C0C690C8-F335-4BA4-A2AD-675EAD1DFA90}"

rem SQL Server 2008 R2 Database Engine Shared
msiexec /x "{C942A025-A840-4BF2-8987-849C0DD44574}"

rem Microsoft SQL Server 2008 R2 (64-bit)
msiexec /x "{20E42995-BBE9-4697-8394-FCDC4338706B}"

rem Microsoft SQL Server 2008 R2 Setup (English)
msiexec /x "{C3E48238-5FA0-4C82-9509-36D47E371A29}"

Running through these, I had several that returned a dialog about an unexpected error, but I ignored those and plowed through.  When I was finished, I ran the batch file again, and every line item raised this dialog:

 

This is a good thing; it smells like I'm almost home.  So – finally – I try to run SQL Server 2008 R2 setup again.  To avoid some wasted time, I install only the Management Tools on my first run.  Though, if I'm being honest, even installing just the client tools takes several minutes.  Precious, Monday Night Football minutes.

And, believe it or not, we have success.

That was WAY too painful, and I'll never get that time back. Hopefully this post will prevent you from going down a similar rathole.  My advice:

  1. Build VMs with the expectation that they may need to be paved over and rebuilt from scratch.  Keep SQL Server installation files, service packs, hotfixes, and slipstreamed sources handy on a non-virtualized machine or on removable storage.
     
  2. Try everything in your power to avoid Evaluation Edition. Spend the $49 on Developer, and stop watching the clock or coming up with schemes to set your clock back to the 1980s.  Developer is not free like the eval, but it will be easier to migrate / replace than an expired evaluation.  I would have gladly spent $49 to not go through what I just documented here.
  3. When someone tells you to pave over your VM because R2 "does not uninstall nicely," listen to them.  I have two VMs that were in this state at the beginning of the day.  I'll let you guess how I'm going to deal with the second one.
  4. Because it bears repeating: avoid Evaluation Edition if there is any chance at all the software will be expected to outlast the 180-day trial period.  If you can't avoid it, when you're done evaluating, perform a thorough cleansing of your machine.  You never know how old software can learn new, frustrating tricks.

 

Aaron Bertrand

I am a passionate technologist with industry experience dating back to Classic ASP and SQL Server 6.5. I am a long-time Microsoft MVP, speak frequently at conferences, and write at SQLPerformance and MSSQLTips. In real life I am an architect at Wayfair.

157 Responses

  1. AlexK says:

    Yeah.
    Recently I was helping someone who bought a netbook with preinstalled trial McAfee, which expired. The only thing that worked was to nuke and pave.

  2. Patrick Flynn says:

    This wonderful feature works even when eval edition is upgraded before expiry.
    Scenario was: Installed veal edition to test functionality. after 90 days uninstalled eval and installed the licensed standard edition. After another 90 days the database engine kept going but SSMS, SQL Agent and other components ceased functioning as they had "expired".

  3. Mark Broadbent says:

    Oh dear oh dear. Thanks for highlighting this mess.

  4. Jason Coombes says:

    Just hit this one today as I had originally installed the tools from SQL 2008 Enterprise Evaluation but later upgraded to SQL 2008 R2 Developer Edition (engine and tools). Luckily the solution was quite straight forward after following Option 2 in this KB article:
    http://support.microsoft.com/kb/971268
    Re-ran the edition upgrade for R2 and selected to only upgrade shared tools (SSMS, etc) and now I'm back and running again.

  5. Larry Watson says:

    Thank god

  6. Dave says:

    Thanks a lot.  What a nightmare.

  7. Mark says:

    Thanks so much for this info.  I am in the bat file stage but things look promising.  Like Dave said, what a nightmare.  On the plus side I did learn quite a bit.

  8. Laurie says:

    Thank you for sharing! It was wuch a nightmare!

  9. Victor M Sanchez (Atharky) says:

    OMG! i come later to this post! this issue was raises by the uninstallation of Denali for me… painfull and long work to resolve.
    I go to publish this issue in spanish in my blog if you don't have any problem.

  10. AaronBertrand says:

    Hi Victor, of course I have no issue with you posting a translation to your blog.
    Cheers,
    Aaron

  11. Junior says:

    Thanks a lot,
    I also tried with Windows Installer Cleanup Utility which didn't help (the tool is retired anyway, but it helped a lot before)

  12. Bairo says:

    veramente un grande aiuto. Thank you.

  13. Jade says:

    Thank you….10 hours fighting with the server. We won though!
    If you can call it a win…
    But yeah SQL is installed with no errors.
    Had to do some CCleaner work though (since they retired Windows Installer Cleanup Utility…omg M$ admitting they did something wrong?!), and the WMI component seemed to be busted, had to rebuilt the repository.
    haha did you read this one though? http://support.microsoft.com/kb/971268
    so funny…if i could uninstall it the right way you think I wouldnt M$? made me lol. just like the instructions on a peanut bag :" Open bag, eat".
    Thanks man 🙂

  14. Devin D. says:

    Thank you… My whole day has been wasted trying to fix this issue.  Took forever to uninstall everything, but it did work.

  15. Jim B. says:

    Thank you for this information – I was going crazy trying to get SQL 2008 R2 uninstalled!

  16. Alex B says:

    Excellent article.  Being a OSX and *nix admin, I'm constantly flustered by windows uninstall failures, and the mystery locations files get stuck in.  Love it when I can write a script to clean up the MS mess 😉  Next time though, I'll mark my calendar before the 180 days expires!
    Cheers!

  17. Munshi Verma says:

    Aaron! You rooock man!
    You saved my day indeed. I have been hitting my head on ways to get rid of those SQL Server 2008 R2 Database Engine Shared and the Common Files, but couldn't until saw your above blog…:)
    Thanks a tonn!
    Keep up the good work!
    Thanks and regards,
    Munshi Verma
    [email protected]

  18. Jyotsna says:

    Thanks Aaron..
    It worked perfect, thanks for sharing this information.

  19. Ben says:

    Thanks a lot.
    You saved me much frustration and time.
    Re-installing the OS server was not an option, so your help was invaluable.

  20. Johnny_D says:

    Thank you, Aaron.
    That worked for me, after 24 hours of finding the answer, finally I've found it. Thanks a lot.

  21. MARC says:

    I have gone through this hell before, however I needed to uninstall again today.  I had no problems uninstalling from Control Panel in Windows 7 – HOWEVER – I stopped IIS on my machine today (God knows why) and had NO problems whatsoever. Luck or the right thing to do, I have no idea !!

  22. Raj says:

    Thanks a lot.
    Great job Aaron….
    Finally done, after 24 hours of finding the answer.

  23. Chuck says:

    Thank for the details instructions.  This worked for me.

  24. Noravia Rodriguez says:

    It could sound strange but for my surprise I went to Control Panel – Uninstall Prgrams – And choose SQL Server 2008 64bits – Change – Remove.
    Here was the only place where I could find the instance installed to be able to remove it.
    If facing the same please let me know
    Thanks

  25. anonmemo says:

    thank you so much. I THINK it has worked for me, still gotta wait and see lol

  26. Marie Haggberg says:

    My experience was similar to yours: created a VM, installed the 2008 R2 evaluation edition, then decided to repurpose the VM for use in training. Uninstalled the eval edition (not!) and couldn't install 2008 R2.
    Your solution worked perfectly and cleared all the evaluation detritus from the VM. Thank you for this helpful post.

  27. Srinath says:

    Thanks a lot. It helped me to resolve the issue.

  28. Ilan says:

    Thank you so much!

  29. yasser says:

    Really thank u !

  30. KM says:

    Thank you! Thank you thank you thank you! Thank you! 🙂
    I thought I was never going to get it to go away!

  31. Jeroen says:

    You saved my life, many thanks!

  32. lanex says:

    Thank you Aaron for sharing!!! I had the same pain, but with a happy end, because:
    I went through fixes steps on http://www.sqlcoffee.com/Troubleshooting073.htm
    Thank you, Alberto Morillo!!! SQLCoffee.com

  33. Date says:

    Thank you very much! It works!

  34. Mark A says:

    I love you and want to have your babies.  Was going absolutely nuts on how to remove this horrid piece of software (or at least the installer is horrid).

  35. Henrik Badsted says:

    Great, helped me a lot 🙂
    THX from Copenhagen, Denmark….

  36. JD says:

    Thank you so much!

  37. Alex says:

    Thank u man!

  38. Priya says:

    Thanks a lot – This article is of great help!

  39. drGian says:

    I was stuck in this nightmare after not even intending to install the eval version.  had a production box that suddenly stops working and the bosses are yelling.  If I hadn't found these (relatively simply) instructions i'd have been screwed.  Thanks.

  40. Jhony says:

    Thanks Aaron :)..I was facing same error…and i was trying to resovle this error from past 2 days…finally i read your articles…and it helped me a lot…issue got resolved and installed sql successfully….Thanks a lot again 🙂

  41. KenCov says:

    Thanks Aaron, This was very frustrating to say the least.  Your article helped me out tremendously.

  42. Anthony S says:

    Thank you Aaron.  I wasted two days on this until I found your blog and followed your instructions.  Viola!

  43. Bob Hoffman says:

    Incredibly useful back door technique. I used it for a related SQL 2008 issue but it looks like it can get rid of any software that refuses to leave by the front door. Thanks so much.

  44. VaKa says:

    That's great!
    Thanks so much.

  45. Marc G, says:

    I'll jump on the old bandwagon and say thanks Aaron for this solution, I was in the same boat as all y'all and this solution worked like a charm! Rock on!

  46. MorpheusMTL says:

    Wow! after 2 days lost, this recipe is the best thing I found. In my case I had to sort order to resolve uninstall dependencies, i.e. I had to ask removal of "engine shared" at the top of my batch file list. When I ran the batch file a 2nd time, everything was perfectly remove (unbelievable!). Thanks for sharing, Morpheus

  47. Frankanie says:

    It work well with a complete f*ck up installation where is impossible to uninstall with a soft and normal way.  After that, SQL 2008 R2 was able to complete all installation without problem.

  48. dd says:

    You just saved my day. Thank you very much!

  49. Aleksander says:

    Man, I love you. Thanks so much!

  50. Arvand Fazeli says:

    since this is the painfull way of doing it i wouldn't suggest doing it.
    after i followed ur steps i was stuck with other problems which finally made me to remove every registery associated with sql server but that didn't end pretty well either.
    my suggestion is that to use windows "fix it" wich is designed to this taks.

  51. Amanda says:

    Thank you so much for this fantastic post!

  52. AJ says:

    You saved my time mate!

  53. Evald says:

    Thanks!!!

  54. Samuel (Brazil) says:

    OI Aaron. Queria saber se é possível você acessar meu notebook e realizar esse procedimento. E quanto seria o valor desse trabalho?

  55. Jamin says:

    your a great admin, that was awesome!

  56. Rose says:

    Thanks so much. it was important ti me…

  57. Antonio says:

    Perfectly removed that … software with a simple .bat file.
    Thanks so much for sharing your guide!

  58. Randy says:

    you saved me again sir, Thank you very much

  59. Jamigo says:

    Thank you very much!!!!

  60. Jaids says:

    Aaron it works. I had it on WIN7 X86 my issue wasn't the evaluation period error but the sql server engine wasn't working and corrupted. I would go and buy the DEV 49 buks one :-). wtf i learned it hard way wasted a whole week trying Add Remove Program feature.
    Thanks again

  61. Jaids says:

    well if you run the batch file while you have SSIS server running you can get in trouble and it won't delete few registry files. Here we go i am going to delete any thing related to MSFT SQL on this puppy. I wish release team did have a complete documentation around it so people knew before evaluating the application. smh…..

  62. BisschopsG says:

    Hi,
    Thank you for this, this was exactly the same for me and solve my issye while trying to remove a R2 to put a 2k8 instead.
    Regards,

  63. Hani Allawnha says:

    Thanks Aaron, I am going to follow your guide. Your time spent is much appreciated.

  64. fleep says:

    booya…. werked fer me too! PIA but thx

  65. David says:

    This worked great.  Thank you.
    Love the bat file trick.

  66. ShelLuser says:

    Wonderful tip, thanks a lot!
    I also fell into the eval trap. I recently discovered MS' Express versions of IIS and SQL 2008 and because the pg_sql driver with PHP 5.3 (shipped with IIS 7 Express) gave me lots of issues I decided to give the SQL Express a go. Forgetting that 2008R2 eval. was in the way.
    Rest is as you described above. Best part: I learned something new here!
    This tip went straight into my OneNote bag of Windows goodies.
    Thanks a bunch, saved me lots of time and grief!

  67. Kelsor says:

    Thank you very much Aaron. You're a great help 😀

  68. Dean says:

    Thanks Aaron! I had the same issue that started witn an install of Server 2008 Standard from a DVD that failed because it was looking for a sqlncli.msi for Server 2008R2 on the 2008 DVD. What a mess. Glad to have it behind me now.

  69. Dave says:

    Aaron – you're a champ, thanks so much for this information it was invaluable…!

  70. Banx says:

    Genius. Thank You!

  71. jeff chen says:

    I have the same problem, it bother me a lot, now I have solved it by the way mentioned above, thanks

  72. Theo says:

    I tried running the bat file but it fails with the message
    "_R" is not recognized as an internal or external command, operable program or batch file"
    The underscore is a square symbol on screen rather than an alpha character.
    I ran the bat file as an administrator, but got same error.
    I found the MsDtsServer100 service was running so I stopped it. But still the same error.
    The bat file is sitting on C:\ root folder, should it be in a specific folder ?
    I created the .bat file using Rob Farley's Powershell Script and the bat file name created is uninstallR2.bat
    Has anyone else used Rob's script? and got the above issue.

  73. John B. says:

    Thank you very much.  I owe you 3 handfuls of hair that have remained on my head…

  74. C. says:

    My SQL Server installation wasn't even broken, but the uninstaller kept giving me the same selection of features to uninstall over and over. I just wanted SQL Server to be gone completely from my system. Your Howto solved that, thanks.

  75. Crocky says:

    Same for me!
    Big Thank to you…

  76. Sean says:

    Very helpful, thanks Aaron

  77. P'PLOY says:

    โคตรเทพ อ่ะ ใช้แล้ว Uninstall ได้เลยค่ะ ขอบคุณมากนะคะ

  78. PJK says:

    Your blog … helped tremendously … unfortunately Ifound it after I did proceed down the rathole and won't get the time back.  My problem was a 2008R2 upgrade on a cluster that lost some binaries in the ftp … the upgrade failed at the PONR with the INSTANCE.INACTIVE at the new version and the INSTANCE of the 2008.  Long story short … I tried repairing, tried upgrading again, unistall of the engine,replication… finally removing the 2008 node from the cluster, removed all the 2008 and got caught in still and the INTANCE.INACTIVE and the final vicous removal of 2008R2 ..  In the wee hours of the a.m.  I came across your blog and finally got the remnants removed via the msiexec.exe /x route… had I found your article earlier … it would have kept me from removing the node and the 2008.  This article applies to any version of 2008R2 and its removal.

  79. PJK says:

    Re-title your article … End the Nightmare of removing 2008R2 and Beyond

  80. Romulus says:

    Thanks! You saved me a lot of time!

  81. Anonymous says:

    Thanks a lot ..you are a life savior…

  82. David says:

    The manual uninstall worked, UGLY, but it worked!

  83. Michael_M says:

    Hi Aaron,
    you just saved my life , ok not my life but my weekend.
    Thx.
    Michael

  84. Axel says:

    Hi Aaron
    I had success with uninstalling SQL Server 2008 SP1. (Programs and features/View installed updates). After un-install it was possible to either upgrade the edition (maintenance) or to de-install the instances.
    Axel

  85. ucuncu says:

    Hi,
    Where will you write command
    rem DisplayName
    msiexec /x "{guid}"
    is in Start->Run

  86. Mohammad says:

    Thanks a lot

  87. Daniele says:

    Great Works… Many thanks

  88. tosc says:

    I ran in the same issue by upgrading / uninstalling SQL Server 2012 RC0.
    🙂 tosc

  89. siri says:

    please give us  some more needful because while following the same process for uninstallation we are getting error and also only half uninstalltion is done

  90. siri says:

    i know why it is not displaying my name because i have given you the bad comment so you dont want to publish it.

  91. Rocky says:

    Thanks a lot Aaron!  
    It saves me a lot of valuable time.

  92. Mikkel says:

    Thanks a bunch

  93. Yaqub ahmad says:

    GREAT THANKS MAN!
    I was trying different things spent a whole day!!! but only your solution worked for me!
    Great Thanks again!!

  94. Wako987 says:

    GOOD VERY GOOD!!!

  95. Roberto (Italy) says:

    Thanks Aaron!
    I've been struggling with this uninstall problem all morning and none of the other "solutions" I found works.

  96. Jon says:

    Wow, You are hero status. Will be using this for our company since we work with db installs all day. Thank you kindly.

  97. Kris Bogaert says:

    Thank you for helping to unblock the situation and enabling me to proceed with reinstalls.

  98. Martin Tallett says:

    Spot on, thanks for your help. The advice sounds good too, I will but the developer version next time.

  99. Suwandi Halim says:

    Save me alot. Thanks

  100. Gary Smith says:

    Crumbs, many thanks for this.

  101. Jeremy Still says:

    Whew! Thank you!

  102. mohsen sharify says:

    tanx man
    you saved my time!

  103. Rajendran says:

    In my case it is a diff problem. The sql2008 r2 is removed successfully but not from the control panel! Unable to remove the title from control panel. When I install again it is not done.

  104. TomB says:

    Thanks for the excellent idea, Aaron.  What would you do with a key that has no corresponding GUID?  I see a key "Microsoft SQL Server 10" with a DisplayName value "Microsoft SQL Server 2008 R2", an UninstallString value ""c:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x86\SetupARP.exe" /x86", but no GUID (i.e. no SQLProductFamilyCode).

  105. AaronBertrand says:

    TomB that depends, is this key preventing you from doing anything? Or is it just cosmetics at this point? Without a GUID it shouldn't actually be able to enforce blocking the install of anything else.
    Sounds like a beta of some kind from very early in the 2008 or 2008 R2 lifecycle. Of course you know this, but I'll state it anyway: you should always be installing beta software on a virtual machine or other device that you don't care if you lose, have to wipe/reformat, etc. 🙂

  106. TomB says:

    Thanks again, Aaron, very helpful and an amazingly quick response!  I don't think it was preventing anything.  (I'm definitely practicing on a VM before trying this for a customer.)

  107. JamesH says:

    Thanks for the info!

  108. Charan says:

    Thank you sir, I was struggling to uninstall. great help it is.

  109. yagao0o says:

    It helps me alot.THANKS!

  110. Brechbert says:

    Thank you so much!!!

  111. Dominik Gauss says:

    To make things a little easier and uninstall everything SQL Server brought along use this code snipplet. You will need the installation media you used to install sql server.
    1. open command prompt (cmd.exe):
    2. enter the following lines of code
    REM —————————-
    pushd "path\to\install\media"
    for /f "tokens=*" %a in ('dir /b /s /a:-D *.msi') do (
    msiexec /x "%a"
    pause
    )
    REM —————————-
    This will uninstall any msi package sql server installed during setup.
    You might want to repeat this once or twice to eliminate any leftover dependencies.
    And one last note: Do yourself a favour and reboot inbetween the individual runs.

  112. Pratik Vyas says:

    this is simply AWESOME:)…Saved a lot of time and money…

  113. Robert Schmalz says:

    Thank you Aaron.  Add one more poor soul who lost beaucoup time until discovering your solution.  Jesus H. Christ! Microsoft should be ashamed of themselves (but are they ever ashamed? no). I've never seen such a confusing mess before.  Thanks again.

  114. HHR says:

    thanks a lot. it's work very good

  115. Dana in STL says:

    Thank you, Aaron, this saved me a ton more trouble than re-installing a whole physical server.

  116. NTT says:

    Thanks a lot.

  117. Lakshmi says:

    Thanks Aaron, very helpful

  118. Jochen says:

    Thanks for that. Worked very well.

  119. Raj says:

    Wow! Your solution really helped! You are a rock star!!

  120. Muhammad Farooq says:

    thanks alot,its working for me

  121. Enoch Robinson says:

    This totally worked for me. It was definately a mess that complicated a Crystal Reports Server uninstall. Thank you very much for this article!

  122. Marcelo Bezerra says:

    man, what a piece of this was this….. well, i really need to say: thank you

  123. Michele Simone says:

    Thank you very much, Aaron, I was getting crazy with that damn uninstall! Your solution spared me a stomachache…

  124. Brad says:

    I didn't read through all these comments but wanted to leave a note about my situation.  I spent a couple hours trying to uninstall SQL 2008 R2 and it never uninstalled completely, which really frustrated me.  I did a repair, which used my new product key but I was still getting the error messages.  I did some searching and finally stumbled on the edition upgrade.
    I was getting the "Evaluation period has expired message" too.  I ran the "SQL Server Installation Center" \ "Maintenance" \ "Edition Upgrade".  I had a valid key for Standard Edition and used that.  This worked for me.

  125. sql_user says:

    This is very much helpful! you save the day. Thank you!

  126. Monish Jain says:

    Thank you very much Aaron. This is the only way I could uninstall SQL Server 2008 R2 from my machine.

  127. Carlo says:

    Thank you so much! I was going nuts trying to uninstall SQL Server 2008 R2. Worked like a charm.

  128. Thomas C.Vandyke says:

    Thank You so much for above info. It's very beneficial for me. It's looks like tech support as usual.

  129. Marsha says:

    thank you for your notes.  It helped me out.
    I have one issue left.  it could be the order of uninstalling the guids.
    I have one guid that was for SQL Server 2008 R2 SP2 Database Engine Shared
    that would not remove.  it was toward the bottom of my list to delete.
    I get error  The error code is 2331. The arguments are: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Bin\{C942A025-A840-4BF2-8987-849C0DD44574}sqlca.dll,  The application has failed to start because its side-by-side configuration is incorrect
    also found this message
     Activation context generation failed for "C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Bin\{C942A025-A840-4BF2-8987-849C0DD44574}sqlca.dll". Dependent Assembly Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4027" could not be found. Please use sxstrace.exe for detailed diagnosis.
    Has anyone else had this problem?
    thanks

  130. Marsha says:

    I finally got it to work.  I had to uninstall my sql server 2008 enterprise edition before I could get the sql server 2008 R2 express edition to uninstall.  then I installed sql server 2008 enterprise edition
    and restored master and msdb databases.
    Alot of work, but my enterprise edition maintenance plans can be modified now.

  131. martin ng says:

    you stopped me from tearing all of my hair out.
    unfortunately, i had already wasted half a day before i chanced upon your article. Now i get to keep my other half of the day and saved my hair. Thanks!

  132. Marcos says:

    Perfect!
    Thanks!

  133. Flemming says:

    You, Sir, are a god among men! Thank You!

  134. Gina says:

    Well, I had had gone half a day but at least I still have hair!  Thanks for this, worked like a charm!

  135. ATTENTION PLS! says:

    To BEST DELETE Database Engine Shared!!
    Run first
    MsiExec.exe /I{A2122A9C-A699-4365-ADF8-68FEAC125D61}
    and then
    msiexec /x "{A2122A9C-A699-4365-ADF8-68FEAC125D61}"

  136. Ugandhar says:

    Hi Aaron Bertrand,
    Thanks a lot, this is very useful info, I could resolve my problem now.
    Pls keep on posting this type of useful info.
    Thanks a lot once again…

  137. Ugandhar says:

    Hi Aaron Bertrand,
    Thanks a lot, this is very useful info, I could resolve my problem now.
    Pls keep on posting this type of useful info.
    Thanks a lot once again…

  138. Ugandhar says:

    Hi Aaron Bertrand,
    Thanks a lot, this is very useful info, I could resolve my problem now.
    Pls keep on posting this type of useful info.
    Thanks a lot once again…

  139. Lía says:

    It worked perfectly….thank you very very very much!!!

  140. Josh says:

    Aaron…job well done my friend!  You just saved me a major headache and hours of hard work.  Very well written post – and it worked like a charm!

  141. Eric Peyser says:

    Great POST !
    if you need a bit more granularity and control without having to skim the .reg, you can also do something like this:
    "wmic product get > products.txt"  <-lists all of the packages and obj strings with good info.
    The removal procedure is the same as yours or you can use "wmic"
    Thank you very much for helping me overcome this nightmare of an uninstall.
    ~Eric Peyser

  142. Eric Peyser says:

    To not confuse things I will put this post separate.  
    You can use notepad++ for marking or ferreting out the blocks of suspect installs in your dump file (products.txt). The search and replace/mark has the ability to search via regex.  
    ~Eric Peyser

  143. Arman says:

    Thanks so much.
    It works for me

  144. mehrnoosh says:

    Thanks a lot
    but some sql dll files have remained
    would I have any problem re-installing SQL server?

  145. AaronBertrand says:

    @mehrnoosh can you be more specific? Just because .dll files are on your system doesn't mean they're being used – not all uninstall routines (especially manual ones like this) actually delete all related files. Did you *try* re-installing?

  146. JayJay says:

    Hey Aaron, So I had SQL Server 2012 installed while uninstalling SQL Server 2008 R2. I was able to uninstall SQL Server 2008 easily after stopping all of my SQL Server services. Being as paranoid as I am, I decided to repair my SQL Server 2012 thinking that maybe something might have gone missing and once the repairing was done, returned in the Control Panel to find the SQL Server 2008 R2 Setup Support files along with SQL Server 2008 R2 Management Objects. I'm lost.

  147. AaronBertrand says:

    @JayJay: 2008 <> 2008 R2, did you uninstall 2008 or 2008 R2? You may have to remove additional elements like the setup support files even after successfully removing the database engine. The article above was written to assist when the Control Panel methods don't work.

  148. JayJay says:

    Oh okay. As I have been looking for answers in the net, several places brought me here so I apologize for getting slightly off-topic and thank you for reaching out. So, I watched a couple of You-Tube videos and it seems that SQL Server 2012 actually came preinstalled with Setup Support files from SQL Server 2008 and Management Objects originally meant for SQL Server 2008 R2. As for your question, I uninstalled 2008 R2. This video shows someone uninstalling SQL Server 2012 with no sign of having 2008 or 2008 R2 in the Control Panel. Skip to 1:40:

    .. To save you from confusion, I wanted to keep SQL Server 2012 in my system so I performed repair and it brought back these two properties back into the Control Panel: 1.SQL Server 2008 Setup Support Files & 2.SQL 2008 R2 Management Objects.

  149. Greg says:

    Everything uninstalled but I still have SQL Server 2008 and SQL Server Agent 2008 listed in the services.  How do I remove those?

  150. Kruti says:

    Amazing post. Really helped a lot

  151. Karthik J says:

    Wow…what a wonderful advise and it really worked like a charm…Thanks a lot Aaron and you really saved my time…once again wonderful article and thanks for sharing

  152. DWalker says:

    I just ran across this myself — trying to remove SQL Server Management tools 2014 (which is called Express, which actually came from a management-tools-only installation package).  I wonder if anyone from Microsoft has seen this or has commented to you privately…..
    The management tools 2014 were not even listed in Programs and Features (Windows 7).
    I needed to install some non-Express features so that SSMS would save the DTSX packages that it creates via the import-export wizard…  sheesh.
    Microsoft ought to supply a program to "remove all traces of SQL Server".

  153. Rex says:

    Thanks! It does work to me.

  154. mahnoor says:

    just install some new feature from sql 2008 after installation just uninstall there is no need for this method try this

  155. Siegfried Keller says:

    very good – thank you.
    helped me with my rude Unistallation of SQL Server 2008 R2, too.

  156. jitendra more says:

    Thanks for your post, its saves some productive hr of mine.