title: Best approach to move data between SQL Servers
body: <p>Ok, let me explain the environment we are facing here:</p>
  
  <p>We have an ASP.NET MVC 4 app that uses a SQL Server database.</p>
  
  <p>This app isolates data in "projects", so when any user connects to it only can work on the data of one of this projects.</p>
  
  <p>Sometimes... a group of users have to travel to remote regions for some days to retrieve data for a single project, and quite often they won't be able to have an internet connection (even mobile or satellite solutions are often out of reach).</p>
  
  <p>While the displaced team works on a project, people at the office still can work on the rest of the projects (but no on the one that is abroad).</p>
  
  <p>So... we are pondering the possibility of using a laptop to act as a "mobile server", where users can download the data from a specific project before travelling. While abroad, they can work against this "mobile server", update any data on their project and, when they come back, they could upload their updated data to the main server.</p>
  
  <p>Our idea is to create stored procedures on both servers (main and mobile) that executes different queries to update data from a project between them, passing the project identifier as a parameter. Probably using <a href="http://msdn.microsoft.com/en-us/library/ms188279.aspx" rel="nofollow">Linked servers</a> to allow main and mobile to see themselves during update operations.</p>
  
  <p>Our questions here are: </p>
  
  <ul>
  <li><p>Is this a good aproach? </p></li>
  <li><p>Is there any other better approach that we're not seeing?</p></li>
  <li><p>Are there any risks we should pay attention to in this or other approachs?</p></li>
  </ul>