Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>Option 1</strong>: Write an app to transfer the data using row level transactions. It might take longer but would result in no interruption of the site using the data because the rows are there before and after the read occurs, just with new data. This processing would happen on a separate server to minimize load.</p> <p>In sql server 2008 you can set <code>READ_COMMITTED_SNAPSHOT</code> to <code>ON</code> to ensure that the row being updated is not causing blocking.</p> <p>But basically all this app does is read the new data as it is available out from one database and into the other.</p> <p><strong>Option 2</strong>: Move the data (tables or entire database) from the aggregation server to the front-end server. Automate this if possible. Then switch your web application to point to the new database or tables for future requests. This works but requires control over the web app, which you may not have.</p> <p><strong>Option 3</strong>: If you were talking about a single table (or this could work with many) what you can do is a view swap. So you write your code against a sql view which points to table A. You do you work on Table B and when it's ready, you update the view to point to Table B. You can even write a function that determines the active table and automate the whole swap thing.</p> <p><strong>Option 4</strong>: You might be able to use something like byte-level replication of the server. That sounds scary though. Which is basically copying the server from point A to point B exactly down to the very bytes. It's mostly used in DR situations which this sounds like it could be a kinda/sorta DR situation, but not really.</p> <p><strong>Option 5</strong>: Give up and learn how to sell insurance. :)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload