Manual Synchronization

Manual synchronization is carried out by the user. As with automatic synchronization, the publication server produces files containing a snapshot of the table schema and data from the published table, but with manual synchronization, it is applied to the subscriber by a user, from tape or other storage medium. After manual synchronization is accomplished, the user must inform SQL Server that the synchronization is complete.

The user can obtain the table schema script (an .SCH file) and the table data file (a .TMP file) for each synchronization job from the working directory of the distribution database (by default, \SQL60\REPLDATA). See Chapter 14, Setting Up Replication, to learn how to determine the filenames for a particular synchronization job.

Manual synchronization is particularly useful when the publication and subscription servers are connected by a slow, expensive, or low-quality network connection, and when a table being published is very large.

For example, if a publication server in Boston is connected over an expensive communications link to a subscription server in Stockholm, a manual synchronization could be accomplished by physically sending a tape containing the .SCH and .TMP file to Stockholm. The table schema script and the table data file could be manually applied to the database, and then SQL Server could be informed that the manual synchronization is complete. This avoids sending the files over the communications link.

Manual synchronization events can affect all the replicated data being sent to a subscriber's database. When a manual synchronization event is set up, a placeholder is put in the distribution database. All transactions in the distribution database continue to be sent to the destination database until that placeholder is encountered; at that point, distribution to that destination database stops, even for other publications and articles in that destination database that are not waiting for a manual synchronization. Replication to the entire database is paused until the manual synchronization is carried out and SQL Server is informed that the synchronization is complete.