Having done something similar a few years ago I can tell you that this is not a nice task!
Much will depend on which version of SQL-Server you are using - the tools have been getting better. Another key point is whether or not the data is shared - in other words if the same rows can be updated at any of the locations then the task is far more complicated.
However here are some starting points ...
Transactional Replication is a key phrase for your research - Microsoft article can be found
here[
^] and another
here[
^]
If you are using SQL 2005 then
this detailed how-to[
^] will be useful
SQL2008 upwards see
this article[
^] which uses Sync and includes a code sample.
Depending on your budget and expertise, my advice would be go for a third-party out-of-the-box solution rather than trying to write/configure something yourself - here's an example product
from Red-Gate[
^]
Good luck