Now that SQL Server Compact 4 has been released, some developers are curious about the differences between SQL Server Compact 4.0 and SQL Server Express 2008 R2.
I have updated the comparison table from the excellent discussion of the differences between Compact 3.5 and Express 2005 here to reflect the changes in the newer versions of each product.
Information about LocalDB comes from here and “Denali” CTP3 Books Online. LocalDB is the full SQL Server Express engine, but invoked directly from the client provider. It does not support Fulltext Search, and I doubt it support Merge Replication. It is a replacement of the current “User Instance” feature in SQL Server Express.
UPDATE: Updated data on LocalDB, based on additional information and feedback from the LocalDB Program Manager.
Feature | SQL Server Compact 3.5 SP2 | SQL Server Compact 4.0 | SQL Server | SQL Server ”Denali” LocalDB |
Deployment/Installation Features | ||||
Installation size | 2.5 MB download size | 2.5 MB download size | 74 MB download size | 32 MB download size |
ClickOnce deployment | Yes | Yes | Yes | Yes |
Privately installed, embedded, with the application | Yes | Yes | No | No |
Non-admin installation option | Yes | Yes | No | No |
Runs under ASP.NET | No | Yes | Yes | Yes |
Runs on Windows Mobile / Windows Phone platform | Yes | No | No | No |
Installed centrally with an MSI | Yes | Yes | Yes | Yes |
Runs in-process with application | Yes | Yes | No | No (as process started by app) |
64-bit support | Yes | Yes | Yes | Yes |
Runs as a service | No – In process with application | No - In process with application | Yes | No – as launched process |
Data file features | ||||
File format | Single file | Single file | Multiple files | Multiple files |
Data file storage on a network share | No | No | No | No |
Support for different file extensions | Yes | Yes | No | No |
Database size support | 4 GB | 4 GB | 10 GB | 10 GB |
XML storage | Yes – stored as ntext | Yes - stored as ntext | Yes | Yes |
Binary (BLOB) storage | Yes – stored as image | Yes - stored as image | Yes | Yes |
FILESTREAM support | No | No | Yes | No |
Code free, document safe, file format | Yes | Yes | No | No |
Programmability | ||||
Transact-SQL - Common Query Features | Yes | Yes | Yes | Yes |
Procedural T-SQL - Select Case, If, features | No | No | Yes | Yes |
Remote Data Access (RDA) | Yes | No (not supported) | No | No |
ADO.NET Sync Framework | Yes | No | Yes | Yes |
LINQ to SQL | Yes | No | Yes | Yes |
ADO.NET Entity Framework 4.1 | Yes (no Code First) | Yes | Yes | Yes |
Subscriber for merge replication | Yes | No | Yes | No |
Simple transactions | Yes | Yes | Yes | Yes |
Distributed transactions | No | No | Yes | Yes |
Native XML, XQuery/XPath | No | No | Yes | Yes |
Stored procedures, views, triggers | No | No | Yes | Yes |
Role-based security | No | No | Yes | Yes |
Number of concurrent connections | 256 (100) | 256 | Unlimited | Unlimited (but only local) |
There is also a table here that allows you to determine which Transact-SQL commands, features, and data types are supported by SQL Server Compact 3.5 (which are the same a 4.0 with very few exceptions), compared with SQL Server 2005 and 2008.