• Overall it makes sense to me. I'm sure someone just bought "SQL Server" not knowing about MSDE. If you can live with the performance and limitations pointed out above, use Express.

    Compact is interesting, but it's not a server. It needs to be embedded in a running application, and it has more limitations. No stored procedures, and more. I tend to view it more as an embedded database inside a product that is very small, with little to no maintenance. If you need to defrag or you are storings 100s of MBs, I think I'd stick with Express.