Discussion:
Transactional Replication from Replicated Database
(too old to reply)
SQL Replication Guy
2010-06-04 20:50:52 UTC
Permalink
Does any one see any issue with replciation from replciated copy of the
database ?

We have Server1 replicating data to Server 2 and planning on setting up
replciation from Server2 to Server3 instead of adding Server3 as a subscriber
on Server1.

Please advise.

Reason for the setup is we Server1 to Server2 replication procs are
customized and dont want to go thru same exercise custom to each environemnt.

Regards,
Ben Thul
2010-06-04 22:42:05 UTC
Permalink
On its face, this shouldn't be a problem. The log reader for the db
on Server 2 will read the net result of whatever happened to the
articles there and take those commands to be replicated. The downside
is that now you're storing every change that happens on Server 1 at
the distributor twice: once for 1->2 and once for 2->3.

However, I do have to wonder aloud how difficult it would be to apply
your customizations to Server 3 and have it be a subscriber to Server
1. Presumably, it's just custom procedures at the subscriber (which
you should have in source control or something like that).. Actually,
now that I think about it, it would probably be more work to set up a
new topology than to leverage your current one. Unless I'm missing
something, that is (which is entirely likely).
--
Ben

On Jun 4, 3:50 pm, SQL Replication Guy
Post by SQL Replication Guy
Does any one see any issue with replciation from replciated copy of the
database ?
We have Server1 replicating data to Server 2 and planning on setting up
replciation from Server2 to Server3 instead of adding Server3 as a subscriber
on Server1.
Please advise.
Reason for the setup is we Server1 to Server2 replication procs are
customized and dont want to go thru same exercise custom to each environemnt.
Regards,
SQL Replication Guy
2010-06-07 15:18:22 UTC
Permalink
Thanks for the response Ben.

I do see your point, but in this scenario, previous DBA has added StagingId
columns and stagingdate = getdate() columns on server2.

If i setup subscriber from server1 to server3, you are right that i donot
have to store in 2 distrib databases but the values for stagingdate and
StgaingId's would be different from server 2 to server3.

Regards,
Ravi
Post by Ben Thul
On its face, this shouldn't be a problem. The log reader for the db
on Server 2 will read the net result of whatever happened to the
articles there and take those commands to be replicated. The downside
is that now you're storing every change that happens on Server 1 at
the distributor twice: once for 1->2 and once for 2->3.
However, I do have to wonder aloud how difficult it would be to apply
your customizations to Server 3 and have it be a subscriber to Server
1. Presumably, it's just custom procedures at the subscriber (which
you should have in source control or something like that).. Actually,
now that I think about it, it would probably be more work to set up a
new topology than to leverage your current one. Unless I'm missing
something, that is (which is entirely likely).
--
Ben
On Jun 4, 3:50 pm, SQL Replication Guy
Post by SQL Replication Guy
Does any one see any issue with replciation from replciated copy of the
database ?
We have Server1 replicating data to Server 2 and planning on setting up
replciation from Server2 to Server3 instead of adding Server3 as a subscriber
on Server1.
Please advise.
Reason for the setup is we Server1 to Server2 replication procs are
customized and dont want to go thru same exercise custom to each environemnt.
Regards,
.
Ben Thul
2010-06-07 16:51:16 UTC
Permalink
Ah... I see the problem. However, I wonder if the values for those
columns *should* be different for different subscribers. What do the
values for those columns represent? If it's some notion of "when did
the data get to the subscriber", I'd argue that different subscribers
should have different values for these columns. Otherwise, you run
the risk of presenting a false picture of that concept at what you
call server3 below. Of course, I'm not going into whether or not
having such a notion is a good idea... (people often have higher
expectations of replication than they should; all replication provides
is that it'll get there eventually).

Also, in a related topic, what is your recovery strategy for the
subscriber at server2? The data for the StagingID and StagingDate
columns are nowhere else in the system (again, unless I'm not seeing
the whole picture). Hopefully, you have your distributor retention
such that if you need to recover the subscriber database at server2
that the distributor would be able to reapply the commands from the
recovery point forward.
--
Ben

On Jun 7, 10:18 am, SQL Replication Guy
Post by SQL Replication Guy
Thanks for the response Ben.
I do see your point, but in this scenario, previous DBA has added StagingId
columns and stagingdate = getdate() columns on server2.
If i setup subscriber from server1 to server3, you are right that i donot
have to store in 2 distrib databases but the values for stagingdate and
StgaingId's would be different from server 2 to server3.
Regards,
Ravi
On its face, this shouldn't be a problem.  The log reader for the db
on Server 2 will read the net result of whatever happened to the
articles there and take those commands to be replicated.  The downside
is that now you're storing every change that happens on Server 1 at
the distributor twice: once for 1->2 and once for 2->3.
However, I do have to wonder aloud how difficult it would be to apply
your customizations to Server 3 and have it be a subscriber to Server
1.  Presumably, it's just custom procedures at the subscriber (which
you should have in source control or something like that)..  Actually,
now that I think about it, it would probably be more work to set up a
new topology than to leverage your current one.  Unless I'm missing
something, that is (which is entirely likely).
--
Ben
On Jun 4, 3:50 pm, SQL Replication Guy
Post by SQL Replication Guy
Does any one see any issue with replciation from replciated copy of the
database ?
We have Server1 replicating data to Server 2 and planning on setting up
replciation from Server2 to Server3 instead of adding Server3 as a subscriber
on Server1.
Please advise.
Reason for the setup is we Server1 to Server2 replication procs are
customized and dont want to go thru same exercise custom to each environemnt.
Regards,
.
Loading...