Search code examples
sql-serversql-server-expresslocalmicrosoft-sync-framework

Using SQL Server Express edition instead of Compact edition as local database cache?


By default, when you create a local database cache using the wizard provided by Visual Studio 2008, it will create a SQL Server Compact edition database for you, and provide you synchronization capability between the cache and remote SQL Server using Sync Framework (1.0). This allow us to provide the offline capability in our client server based application.

My question is, instead of using SQL Server Compact edition, is it possible to use SQL Server Express edition so that we can use stored procedures? All are clients are beefy laptop running on Core 2 Duo, so processing power is not an issue at all. To our user, offline is most valuable feature, though.

Plus, it will take us some major rewrite to convert all stored procedure code to C# middle tier code using LINQ. Finally and most importantly, our boss wants the business logic to be in stored procedures. SQL Server CE just won't cut it.


Solution

  • is it possible to use SQL Server EXPRESS edition so that we can use stored procedure?

    Yes.

    You can simplify installation and deployment by using Click Once.

    If needed, you can limit the amount of memory used by SQL Express through issuing appropriate configuration commands.

    Since your clients use laptops, you might consider providing an option to stop and start SQL Express from within your app, rather than having it auto-start as a service.

    P.S. If you're using SPs, you may not need LINQ. ADO.NET can result in much higher-performance code, particularly if you can leverage features like command batching, async queries, multiple result sets, etc, that aren't possible with LINQ.