Database organization for mirroring / partitioning / multistore I know that is kind of generic question, but there is not other way to find a good answer.

I have a requirement to create a network of a server and few simple PCs.
My boss wants to have the database in the server but also mirroring (the whole DB) it in all the machines, because he want the PC's to work even in the case that the network is down!!!

We'll be working with a lot of data, each PC (a) controls an industrial production line and (b) records information about every action into the DB. The data under consideration are not sensitive.

My idea is that each machine will have a part (same tables but only part of the data) of the whole DB and they will update the "mother" DB.

Is my idea a good approach and, if yes, how could I accomplish such a scenario?

Is there a better approach?
Would service broker be an option? It can handle disconnected situations.
Use a local database on each PC ("clients") and one central database on the server. Each client sends Service Broker messages (XML files e.g.) to the server. For instance send information about an "action" from the production line.
Whenever the connection is lost, all messages are queued until you reconnect.
At the server you need to write a handler that processes these messages.