It's been a long time since I've posted anything on WSUS. For a while it was the biggest thing I dealt with, but now it's pretty seldom I worry about it. Until one day when I bought a new internal hard drive for one of my servers and decided to swap it out without doing proper due diligence.
The server had a 500 GB IDE internal drive where WSUS was storing updates and the WinDB data files. It runs on Windows Server 2008 R2, SP1. When I swapped the IDE drive with a 1TB SATA internal drive, I didn't properly take down WSUS first. So the result was a critically broken WSUS setup. I couldn't uninstall WSUS and couldn't reinstall it either. The errors were either 0x80004005 or 0x80004325 or something close. I tried some of the recommended things like switching the "Windows Internal Database" service to use the local system account and reboot. I tried MSICUU and all sorts of ugly hacking. The role would not be removed and it would not let me force a new WSUS 3 SP2 install on top of it either.
The fix: Download and install SQL Server 2008 R2 Express, then install WSUS 3.0 SP2 x64 and point the database option to the SQL Express instance. Bingo! Back up and running fine.