Limitations of SQL Server Express

Sql ServerSql Server-2008-Express

Sql Server Problem Overview


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?

Sql Server Solutions


Solution 1 - Sql Server

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).

Solution 2 - Sql Server

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: https://stackoverflow.com/questions/579332/is-there-a-way-to-stop-sql-express-2008-from-idling

Solution 3 - Sql Server

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.

Solution 4 - Sql Server

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.

Solution 5 - Sql Server

Solution 6 - Sql Server

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDonnielView Question on Stackoverflow
Solution 1 - Sql ServerSqlRyanView Answer on Stackoverflow
Solution 2 - Sql ServeragentnegaView Answer on Stackoverflow
Solution 3 - Sql ServerRemus RusanuView Answer on Stackoverflow
Solution 4 - Sql ServerJason CumberlandView Answer on Stackoverflow
Solution 5 - Sql ServeropensasView Answer on Stackoverflow
Solution 6 - Sql ServerniklasolsnView Answer on Stackoverflow