When setting up a server, we installed SQL Server 2008. Now it turns out we don't need it, and we want to use the free Express version instead. Ideally without much interruption to things using the database. Is it possible to install Express side by side with the full version without disrupting things?

The tables are small and the load is relatively light. As in, there are maybe 30 rows in each table, and a few aspx pages that use them to keep track of state. We're not doing anything other than simple queries on a few tables in our current setup. I could get by using SQLite, if I wanted to rewrite some ASP.NET pages to use it.

  • 1
    Your question is a bit misleading. Do you want to "downgrade" or just install SQL Server Express "side by side"? SQL Server Express, by default, is just a named instance called SQLEXPRESS, so as long as you don't already have a named instance of that name (which I can't imagine you would) I don't see any problem with it. – Thomas Stringer Mar 15 '12 at 20:23
  • 1
    The question is not clear enough, James. Please see Shark's (and mine) questions. Thanks! – Marian Mar 15 '12 at 20:33
  • The intention was to install side by side, switch services over to Express, then deactivate SQL Server 2008. Minimal downtime and all that. – James Mar 15 '12 at 20:34
  • 1
    "Switch services"? There are a few shared services (i.e. SQL Server Browser, SSIS), but most of the services are owned by an instance. Run SQL Server Configuration Manager and take a look at SQL Server Services. Each service that has suffixed (INSTANCENAME) is solely for that instance. – Thomas Stringer Mar 15 '12 at 20:36
  • Sorry; bad terminology. The stuff using the db is a few ASPX pages, that's it. – James Mar 15 '12 at 20:40

As Shark already pointed out install or downgrade are distinct actions:

  • install side by side means to have a new session of Express edition installed WHILE the current running edition is working (btw, what is the version of the current instance?);
  • DOWNGRADE/UPGRADE means running the installation option over the currently running instance;

Any operation involving the live instance means it will interact and stop with the current instance. Some planning questions are in order now:

  • What are the dimensions of the database(s) that are in work? (Express edition can handle small dbs only);
  • What hardware necessities do you have for your current load? (Express edition has some strict limitations in CPU, RAM, hdd space);
  • What features do you need from the current set? (eg: you won't have SQL Agent jobs with Express Edition);

At first you need to answer all these questions and only then see what your options is.

EDIT: after all your details specified, I'd suggest you to install a new version along with the current working one. Then stop the working instance service, ATTACH the database files to the Express Edition, then move on with the uninstall of the other instance. This will make the database unavailable only for the attach operation.

  • 2
    I would suggest backup / restore rather than detach / attach. Why? Because if something goes wrong in the detach, you don't have a database anymore. With backup / restore you have a fallback plan if something happens to the file after the detach. – Aaron Bertrand Mar 15 '12 at 22:32
  • I never accept a situation without a current existing (and working) backup plan :-). So I have made the assumption that there is or will be an existing backup. My bad! Yes, you are right, a full backup and a restore would be even better than an attach operation, as this will test the last good known backup. PS: Aaron, have you seen situations with problems for the attach? Not sure if I've seen one in normal use (without hammering the files in a hex editor after the detach, off course :-)). – Marian Mar 15 '12 at 23:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.