Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There is actually a technology built into SQL Server 2005 (and 2008) that is designed to address this kind of issues. <a href="http://msdn.microsoft.com/en-us/library/ms166043(SQL.90).aspx" rel="nofollow noreferrer">Service Broker</a> (I'll refer further as SSB). The problem is that it has a very steep learning curve.</p> <p>I know MySpace went public how uses SSB to manage their park of SQL Servers: <a href="http://rusanu.com/2009/07/26/myspace-uses-sql-server-service-broker-to-protect-integrity-of-1-petabyte-of-data/" rel="nofollow noreferrer">MySpace Uses SQL Server Service Broker to Protect Integrity of 1 Petabyte of Data</a>. I know of several more (major) sites that use similar patterns but unfortunately they have not gone public so I cannot refer names. I was personally involved with some projects around this technology (I am a former member of the SQL Server team). </p> <p>Now bear in mind that SSB is not a dedicate data transfer technology like Replication. As such you will not find anyhting similar to the publishing wizards and simple deployment options of Replication (check a table and it gets transferred). SSB is a reliable messaging technology and as such its primitives stop at the level of message exchange, you would have to write the code that leverages the <a href="http://msdn.microsoft.com/en-us/library/bb522489.aspx" rel="nofollow noreferrer">data change capture</a>, packs it as messages and also the unpacking of message into relational tables at destination.</p> <p>Why still some companies preffer SSB over Replication at a task like you describe is because SSB has a far better story when it comes to reliability and scalability. I know of projects that exchange data between 1500+ sites, far beyond the capabilities of Replication. SSB is also abstracted from the physical topology: you can move databases, rename machines, rebuild servers all without changing the application. Because data flow occurs over <a href="http://technet.microsoft.com/en-us/library/ms166052(SQL.90).aspx" rel="nofollow noreferrer">logical routes</a> the application can addapt on-the-fly to new topologies. SSB is also resilient to long periods of disocnnect and downtime, being capable of resuming the data flow after hours, days and even months of disconnect. High troughput achieved by engine integration (SSB is part of the SQL engine itself, is not a collection of sattelite applications and processes like Replication) means that the backlog of changes can be processes on reasonable times (I know of sites that are going through half a <em>million</em> transactions per minute). SSB applications typically rely on <a href="http://msdn.microsoft.com/en-us/library/ms171617.aspx" rel="nofollow noreferrer">internal Activation</a> to process the incomming data. SSB also has some unique features like built-in <a href="http://blogs.msdn.com/sql_service_broker/archive/2008/07/14/using-multiple-routes-in-service-broker.aspx" rel="nofollow noreferrer">load balancing</a> (via routes) with sticky session semantics, support for <a href="http://msdn.microsoft.com/en-us/library/ms171615(SQL.90).aspx" rel="nofollow noreferrer">deadlock free application specific correlated processing</a>, <a href="http://msdn.microsoft.com/en-us/library/bb934439.aspx" rel="nofollow noreferrer">priority data</a> delivery, specific support for database mirroring, <a href="http://rusanu.com/2008/10/23/how-does-certificate-based-authentication-work/" rel="nofollow noreferrer">certificate based authentication</a> for cross domain operations, built-in <a href="http://msdn.microsoft.com/en-us/library/ms187804(SQL.90).aspx" rel="nofollow noreferrer">persisted timers</a> and many more.</p> <p>This is not a specific answer 'how to move data from table T on server A to server B'. Is more a generic technology on how to 'exhange data between server A and server B'. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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