Groups | Blog | Home
all groups > sql server replication > june 2006 >

sql server replication : How to pause transactional replication during import at publisher?


Patrick Gibb
6/13/2006 7:10:59 PM
Hi

I have a Publisher that will be replicating configuration data and user data
(UserNames, Locations and Departments etc) down to a set of Subscribers. I
have been asked to use transactional replication so that any changes are
replicated to the Subscribers immediately, but at the same time support a
daily import process that will import the latest user data into the
Publisher. I would have separate publications for the user and configuration
data, but since both sets of data are in the same database, there is only one
LogReader.

I am concerned about the load I will put on the replication system during
the import.
Is it possible to disable the transactional replication while the user
import is in progress (may be up to an hour), re-initializing the subscribers
with a new snapshot of the user data when it is finished, but at the same
time keep the transactional replication of the configuration data running.

The only idea I can come up with is to have a filter on the user publication
articles that references a column in a separate table i.e. "where exists
(select * from <Table> where <FilterStatus> = 1)" and then toggle the
FilterStatus at the start of an import. At the end of an import toggle this
value back and re-initialize the user publication to generate a new snaphot.

Many thanks
Jeff Ericson
6/14/2006 6:19:03 AM
You could certainly turn off replication while the import process runs but
aren't you just moving the load from one process to another? I would think
that a new snapshot after the import process would be the same as having
replication running whilst you import the user data, all those snapshots
going out to your subscribers will be quite a load on the system.

Jeff

[quoted text, click to view]
Patrick Gibb
6/15/2006 7:48:02 PM
Thanks Jeff, you may be right.
Since the import is effectively an import of a snapshot from an external HR
system, I thought there would be less load if I turned off transactional
replication and not pass all the updates to the subscribers (with the before
and after column values), but just pass the compressed snapshot when the
import had finished.

[quoted text, click to view]
AddThis Social Bookmark Button