I suspect I’m not the first developer to install Visual Web Developer 2008 Express with SQL Server 2008 Express and then play hunt-the-Management Studio with my Start menu. After some digging it becomes apparent it’s not there. No problem – just download it from Microsoft and install it, right?
If only it was that simple :)
Turns out that what you actually have is SQL Server Express runtime, which is fine to get started but once you actually want to do anything remotely interesting with SQL then either you have the fun and games of command-line tools (I don’t recommend it unless you’re a CLI die hard) or getting Management Studio onto the machine somehow.
There’s a few blog posts around on this but none of them I could find are straightforward so here’s the simple explanation and step-by-step guide.
Firstly, lets understand what we are working with. SQL 2008 Express comes in three ‘flavours’:
- Runtime only (no tools or anything, this is what you’ll get when its installed with something else, about 60Mb install)
- Runtime with Tools (includes Management Studio Basic, about 250Mb install)
- Runtime with Advanced Services (all the other tools like Reporting services too, about 500Mb install)
The various tools and add-ons are NOT available standalone. They can only be downloaded as part of one of these three packages (I have heard rumours to the contrary but I’m yet to see an install package that proves otherwise).
When you install any of these and set up an instance (e.g. the ubiquitous \SQLExpress) then the only features available are, naturally enough, the features in that install package. Fine, but what if you installed just the runtime and then realise you need Management Studio, for example?
This is where it gets entertaining. You can’t just download a tools package, so you have to download the whole 250Mb Runtime with Tools package. Not too bad, but then you try to install it. The install runs, and when you try to add features to the existing instance, there is no option for Management Studio. All you have are the features that were available when you installed that instance. Why is this?
This happens because when SQL 2008 Express installs an instance it sets it up as a specific ‘Edition’. If you installed that instance from the Runtime-only package then all you get is the Runtime-only ‘Edition’ and the features appropriate to that.
OK, so here’s the really important bit. How to sort it out. All you need to do is UPGRADE the Edition, and then we can add the features we need.
- Run the install for the package you want to upgrade too (e.g. Runtime with Tools)
- Once you’re at the SQL Server Installation Centre, Go to the ‘Maintenance’ option
- Choose ‘Edition Upgrade’
- Follow the wizard to upgrade your instance to the new Edition
- Once complete, go to the ‘Installation’ option and choose to add features to the existing instance
- Follow the wizard and you should now be able to select your existing instance and add the feature you want to it (such as Management Studio Basic)
- Continue on to completion of the wizard
And that’s it! Not exactly intuitive but I’m feeling charitable today and so I’ll say that I’m sure the clever bods at Microsoft had a reason for making us do things this way :)