A few weeks ago, Microsoft announced the SQL Server Compact Edition release to manufacturing (RTM), formally launching the technology that the company is pitching to the mobile and “occasionally connected” workforce. According to Shakespeare, “A rose by any other name would smell as sweet,” and SQL Server Compact Edition by any name is Microsoft’s play to capture the occasionally connected database market.
In the beginning, as you might know, there was SQL Server 2000 Windows CE Edition (SQL Server CE), which was eventually replaced by the SQL Server 2005-based SQL Server Mobile Edition. Last year, Microsoft announced that SQL Server Mobile Edition would be renamed and rebranded SQL Server 2005 Everywhere Edition. SQL Server Everywhere was a pretty cool name, IMHO, but it never saw the light of day as an actual product. Last November, Microsoft announced that SQL Server Everywhere Edition would be renamed SQL Server Compact Edition. Not SQL Server CE, mind ya, because sticking with SQL Server CE would have been nowhere near as fun for the folks who get to make up names at Microsoft.
Note that although SQL Server Compact Edition shares a name with its cousins higher up in the SQL Server edition family, the new edition isn’t the same code base as SQL Server Enterprise, Developer, Standard, Workgroup, or Express editions. The new edition is designed to work with the same programming interfaces--such as ADO.NET--that work with higher-end versions of SQL Server, but SQL Server Compact Edition is a fundamentally different product in many important ways.
At face value, both SQL Server Express and SQL Server Compact Edition are valuable to mobile users, and there are times when you could arguably choose to build and deploy your application on either product. However, SQL Server Compact Edition doesn’t support stored procedures, implements a smaller subset of the T-SQL language, and has other differences that would make it substantially more difficult to scale up a Compact Edition-based application to a higher version of SQL Server without making substantial changes to the application. In contrast, although there are numerous limits on what SQL Server Express can do, the Express Edition has essentially the same bits as the core engine in higher-end SQL Server editions. So, SQL Server Express is a viable solution for rolling out an application on a free version of SQL Server, and you can scale SQL Server Express solutions up to enterprise-class databases as requirements dictate. Limited changes to the application would be necessary as you scaled up.
That’s not to say that SQL Server Compact Edition doesn’t serve an incredibly important market need. Microsoft envisions SQL Server Compact Edition as an utterly maintenance-free embedded database for PDAs, smart phones, RFID needs, and almost any small appliance that needs a permanent data store but can’t handle the larger footprint of a higher-end edition of SQL Server. Do you know what a radio frequency ID (RFID) is? RFID’s are those little chips that have grown in prominence in various retail and inventory-management industries. It’s also the technology that the new US passport is using. RFIDs are beginning to be used by a massive number of industries, and they represent a huge growth field that’s generating a lot of data to capture, store, and track. Even SQL Server Express is a bit too fat for an RFID application, but RFID is the sweet spot for SQL Server Compact Edition, and Microsoft has been showing some very cool demos of how SQL Server Compact Edition on the front end coupled with SQL Server Enterprise Edition on the back end can do some very cool things indeed. You just need to remember that SQL Server Express and SQL Server Compact Edition are fundamentally different products designed for different needs and different audiences.
You can download SQL Server Compact Edition at http://www.microsoft.com/sql/editions/compact/default.mspx. The Web site also includes valuable white papers, including a great white paper that compares SQL Server Compact Edition with SQL Server Express to help you be sure you’ve selected the best technology for the problem you’re trying to solve.