136
votes

My hosting provider (Rackspace) is offering a fully managed dedicated server with SQL Server Web version () installed. My company handles web development, and has about 20+ clients using ASP.Net + SQL Server 2005.

I am thinking of cutting down costs by installing the free SQL Server 2008 Express instead. I am aware of the 1GB RAM and 4GB/database (is that correct?) limitations. What I would like to know is:

  1. Is there any limit to the NUMBER of databases I can install with the express edition?
  2. Are there any other limitations I should be wary of? I am a bit concerned about having to set up the database backup - with the express edition it might a lot more difficult.
  3. Any other advise?
6
Is there a limitation on the number of connections, anyone?codeulike
@codeulike: no, there was never a limit on the number of connections in MSDE/SQL Express, and the "Workload Governor" that limited the number of ACTIVE connections to 5 in MSDE has been removed in SQL Express: blogs.msdn.com/b/euanga/archive/2006/03/09/545576.aspxTao

6 Answers

147
votes

There are a number of limitations, notably:

  • Constrained to a single CPU (in 2012, this limitation has been changed to "The lesser of one socket or four cores", so multi-threading is possible)
  • 1GB RAM (Same in 2008/2012)
  • 4GB database size (raised to 10GB in SQL 2008 R2 and SQL 2012) per database

http://www.dotnetspider.com/tutorials/SqlServer-Tutorial-158.aspx http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx

With regards to the number of databases, this MSDN article says there's no limit:

The 4 GB database size limit applies only to data files and not to log files. However, there are no limits to the number of databases that can be attached to the server.

However, as mentioned in the comments and above, the database size limit was raised to 10GB in 2008 R2 and 2012. Also, this 10GB limit only applies to relational data, and Filestream data does not count towards this limit (http://msdn.microsoft.com/en-us/library/bb895334.aspx).

15
votes

Another limitation to consider is that SQL Server Express editions go into an idle mode after a period of disuse.

Understanding SQL Express behavior: Idle time resource usage, AUTO_CLOSE and User Instances:

When SQL Express is idle it aggressively trims back the working memory set by writing the cached data back to disk and releasing the memory.

But this is easily worked around: Is there a way to stop SQL Express 2008 from Idling?

13
votes

You can create user instances and have each app talk to its very own SQL Express.

There is no limit on the number of databases.

4
votes

If you switch from Web to Express you will no longer be able to use the SQL Server Agent service so you need to set up a different scheduler for maintenance and backups.

4
votes

You can't install Integration Services with it. Express does not support Integration Services. So if you want build say SSIS-packages you'll need at least Standard Edition.

See more here.