Along with the upcoming release of SQL Server 2005, Microsoft is introducing a new edition of SQL Server called SQL Server Express.
SQL Server Express is a free version of SQL Server 2005, designed as a direct successor to MSDE (Microsoft SQL Server Desktop Engine) 2000.
Express has less functionality than the full version of SQL Server 2005, but Express can be used and redistributed without licensing fees. For instance, you can use it as the database engine in a custom or commercial application or as the backend for creating a data-driven Web site.
Microsoft decided to introduce Express as a way to provide SQL Server's functionality in a stripped-down way to people who might not otherwise be able to use it: students, educators, hobbyists, people on a restricted budget and so on. It's also intended to be used by people who want to write applications that use SQL Server as a kind of runtime environment, since it can be redistributed. (The redistributable SQL Server Express package is about 65 MB -- and it may change with the final release -- but it can always be delivered as a separate download from any applications used with it.)
Express works on all editions of Windows 2000, 2003 and XP. A server edition of Windows is not required for it to run; for that reason, it can be used as a desktop edition of SQL Server. The minimum recommended system configuration is a Pentium III running at 550 MHz, 256 MB of RAM, 400 MB of free storage and the 2.0 version of Microsoft .NET Framework (also provided as a beta download).
Note that Express cannot be installed on any system that has any version of SQL Server 2005 or its support tools -- i.e., data transformation services, reporting services, the tools package, and so on. It can, however, coexist with SQL Server 2000 or earlier versions such as 7.0, and multiple instances of Express can be installed on the same computer.
Functionally, SQL Server Express is in many ways the same as the full edition of SQL Server. Many databases created in other editions of SQL Server can work transparently. The limitations to Express, however, need to be spelled out in detail:
-- No built-in management tools. Microsoft has a query tool called Express Manager that is available as a separate download, but as of this writing, it is an unsupported pre-release package.
-- Support for only 1 CPU. In systems with multiple CPUs, Express will only bind to one CPU at a time, and it cannot run queries in parallel.
-- 1 GB RAM. Express cannot use more than 1 GB of RAM at a time for queries and data pages. The program's own memory footprint is not counted.
-- 4 GB maximum database size. No one database in Express can be larger than 4 GB, but there is no limit on the number of databases you can use in Express.
-- No analysis or reporting services. Data mining, Data Transformation Services (DTS) and reporting functions are not available for Express.
Other functions not available in Express include clustering or mirroring, full-text indexing or searching, SQLMail, indexed views, partitioned views and SQL Agent. If the environment or application you're working on requires any of these, the full version of SQL Server may be the better choice rather than trying to work around the limitations of Express. Sometimes workarounds are possible -- SQL Agent functions, for instance, might be mimicked through VBScript and the Task Scheduler -- but for projects with a broad scope, it might be easier to use the full edition of SQL Server.
A public beta of SQL Server Express can be downloaded directly from Microsoft. The beta comes with no support, so you must use it at your own risk. Microsoft plans to release the final version by the middle of 2005.
Serdar Yegulalp is editor of The Windows Power Users Newsletter. Check it out for the latest advice and musings on the world of Windows network administrators -- and please share your thoughts as well!
This was first published in April 2005