Microsoft SQL Server is an enterprise quality database management system that's usually hosted by a server and can scale across multiple servers and locations.
For local PC, small databases, and less critical situations, Microsoft offers a limited version of SQL Server called SQL Server Express. SQL Server Express can be downloaded for free and installed on your local PC. This is helpful for:
- Deploying desktop Windows solutions that use SQL Server databases to users who don't own SQL Server
- Deploying lightweight web applications that use SQL Server databases
- Developers wanting to create and test applications with a SQL Server database on their own, rather than a database hosted on a server
SQL Server Express Limitations
There are many editions of the full version of SQL Server with Enterprise, Standard and Web the most common. Here are some of the major differences of the 2016 version compared to the Express edition:
|Maximum Database Size||524 PB||524 PB||524 PB||10 GB|
|Compute Capacity||OS Max||4 sockets or 24 cores||4 sockets or 16 cores||1 socket or 4 cores|
|Maximum Memory||OS Max||128 GB||64 GB||1 GB|
|Smart Backups, Encrypted Backups|
The most critical issue is the maximum database size. The other differences are related to performance and maintenance.
For more details, visit Microsoft's SQL Server 2016 Comparison of Editions including Enterprise vs. Express
Note: SQL Server Express cannot be installed on a compressed drive. It only supports standard, non-compressed drives.
Microsoft SQL Server Express Versions
Many versions of Microsoft SQL Server Express and service packs were released over the years. Here's a summary by Major Version:
|Major Version||Service Packs|
|2014||SP1 and SP2|
|2012||SP1, SP2, and SP3|
|2008||R2 RTM, R2 SP1, and R2 SP2|
|2005||SP1, SP2, SP3 and SP4|
Choosing the Right Version of SQL Server Express
Since organizations usually upgrade SQL Server less often than operating systems, an older version may be used for quite some time, especially if the application doesn't use the features added to the new versions.
- If starting from scratch, choose the newest version that supports all the operating systems you're targeting.
- If you are developing and need to eventually deploy to an actual version of SQL Server, you should use a SQL Server Express version that matches that version or an older version to avoid introducing features that don't exist on your SQL Server.
Version Comparison and Download Matrix
Here are the Microsoft SQL Express versions, when they were released, and the Operating Systems they explicitly support. The older versions generally work on newer operating systems but is not officially stated on Microsoft's web pages. The 2005 versions have a warning message when they are installed on Windows 8.x or later.
Links are also provided for downloading your own free copy of SQL Server Express and the related SQL Server Management Studio when it's not included in the main download.
|SQL Server Express Version||2016 SP1||2016||2014 SP2||2014 SP1||2014||2012 SP3||2012 SP2||2012 SP1||2012||2008 R2 SP2||2008 R2 SP1||2008 R2 RTM||2008||2005 SP4||2005 SP3||2005 SP2||2005 SP1||2005|
|Download Link||Download||N/A||Download||Download||Download||Download||Download||Download||Download||Download||Download||Download||Download||Download||Download||Download||No Longer Available||Download|
|Includes SQL Server Management Studio||See Download||Download||Download||No Longer Available||Download||Download||Download||Download|
|Hardware and Software Requirements||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details||Details|
|Windows Desktop O/S||2016 SP1||2016||2014 SP2||2014 SP1||2014||2012 SP3||2012 SP2||2012 SP1||2012||2008 R2 SP2||2008 R2 SP1||2008 R2 RTM||2008||2005 SP4||2005 SP3||2005 SP2||2005 SP1||2005|
|Windows 2000 SP4|
|Windows XP SP2|
|Windows XP SP3||*||*||*||*||*|
|Windows Vista SP1||*||*||*||*||*|
|Windows Vista SP2||*||*||*||*||*|
|Windows 7 SP1||*||*||*||*||*||*||*||*||*|
|Windows Server||2016 SP1||2016||2014 SP2||2014 SP1||2014||2012 SP3||2012 SP2||2012 SP1||2012||2008 R2 SP2||2008 R2 SP1||2008 R2 RTM||2008||2005 SP4||2005 SP3||2005 SP2||2005 SP1||2005|
|Windows Server 2003|
|Windows Server 2003 SP1|
|Windows Server 2003 SP2||*||*||*||*|
|Windows Server 2003 R2 SP2||*||*||*||*|
|Windows Server 2008||*||*||*|
|Windows Server 2008 SP2||*||*||*||*||*||*|
|Windows Server 2008 R2||*||*||*|
|Windows Server 2008 R2 SP1||*||*||*||*||*||*||*||*|
|Windows Server 2012||*||*||*||*||*||*||*||*|
|Windows Server 2012 R2||*||*||*||*||*||*||*||*||*|
* not explicitly supported, but functional
Backing Up SQL Express Databases
Once you start creating databases in SQL Server Express, don't forget that you still need to backup your databases. Sure, SQL Server databases as self monitoring and you don't need to run periodic compacts like you do to keep Microsoft Access databases healthy, but backups remain important for archival and disaster recovery reasons. SQL Server can't stop someone from entering bad data or accidentally deleting all your records. Transaction logs can help recover data, but if there are lots of transactions, that may be difficult to accomplish.