Found an interesting little issue today when trying to install Sql Server development edition (though I’m led to believe it applies to all versions).
On the configuration check screen I noticed a warning next to “Edition Change Check”, the message of which read:
To change an existing instance of Microsoft SQL Server 2005 to a difference edition of SQL Server 2005, you must run SQL Server 2005 Setup from the command prompt and include the SKUUPGRADE=1 parameter.
I did a bit of investigating and it looks as though the cause here is that I already have sqlexpress installed. It looks like I installed it along with Visual Studio some time ago and forgot it was there, so the Sql installation files are assuming they’re going to be used to upgrade this installation – which it can’t do without specific instructions.
One of the potential issues here is that in order to do this, all service packs and hotfixes need to be uninstalled (something it obviously wont do without the proper permissions). What this means for us is that after we perform the upgrade, we need to reinstall all the service packs and hotfixes to ensure proper security.
The trick then is to open up a command prompt and navigate to the cd/dvd directory that contains the sql files and run this command:
setup ADDLOCAL=SQL_Engine INSTANCENAME=MSSQLSERVER UPGRADE=SQL_ENGINE SKUUPGRADE=1
If you’ve used a different instance name for your installation of the initial version you will need to use it here instead of MSSQLSERVER. MSSQLSERVER is the default name for a standard Sql Server installation, however the named instance for a standard sql express instance is SQLEXPRESS which I suspect is the most common case where the need to do this would catch us by surprise.
Note that the Edition Change Check will show as “Success” when this has been done properly. It took me a while of testing to ensure this as the property names are case sensitive and it’s easy to make a typo. Don’t continue past the configuration check until all the checks are green.
From there it should be a standard installation with no worries.
It might be useful to note that it is in fact possible to install an instance of sql server alongside sql server express if you do not wish to upgrade (or to keep the sqlexpress name). In this case it will just install as expected and you will be able to access either instance by name at leisure.
Hope this was helpful.