Although the install can be executed silently an install is required to register SQL Server as a data provider
- Currently I am not aware of a means to overcome this issue. I believe that with enough registry and file system analysis the outcome of the install can reproduced without having to run the install though.
Although the database supports multi threading the provider only allows connections from a single process at any one time.
- This is not a very common scenario but a scenario that exists none the less. A small portable database with a small amount of traffic is required to service multiple clients. By exposing the database via a webservice multiple client are able to communicate with the database without running into the single process predicament.
When connected via management studio the database is locked for read access (Single process restriction).
- I unfortunately don't know any way around this SQL management studio. In Visual studio it is possible to specify the "File Mode" attribute as being only "Read" this will allow you to inspect the the data in the database without denying service to users.
The database engine does not support stored procedures
- Unfortunately there is no way around this. The CE engine does not support precompiled queries or an extensive security model, so I suggest you handle access in your data access and business tiers respectively.
I hope this article has given some insight into problems that need consideration when evaluating SQL CE as a database engine for your application.