Is having SQL Server express database on client better than querying data on a remote server? I'm planning to create a SQL Server Express database on each client machine that will sync with the remote server's data. What I'm trying to achieve is to have a faster processing and querying of data wherein the client application connects to its local db rather than directly connecting to the remote server.

Do you think that this is a good approach? Or should I just stick to the client-server approach wherein all I need to do is have 1 remote db server where the clients connect to it?
Do you think that this is a good approach? 


How does "totally rotten" sound?

Seriously - there MAY be some reasons to do that (distributed systems on slow links for example) but this is the first time I hear someone trying to replicate a database to every client to avoid overloading a server. Totally out of whack unless specific circumstances call for it.

One example - one that we have:
* A trading application on a remote location reporting it's trades to central processing via replication

Reason: the link can go down and the trading app still works. It is isolated from corporate central.

ANother example we had:
* A CRM - installed on laptops and needed to work without permanent internet connectivity.

But normally this is not a decent solution. YOu may have specific circumstances, but you totally avoid naming them.

Go with a decent central database machine and it should be fine.