Sql-server – Two-step Replication between SQL 2008 and 2017

replicationsql serversql-server-2008sql-server-2017transactional-replication

I am currently using transactional replication from several SQL 2008 publishers to a central 2014 subscriber/distributor. I need to replicate this data to a 2017 server, which would require a 2017 distributor.

Since 2008 -> 2017 transactional replication is not supported, I am trying to replicate in a second step from the 2014 server.

2008 -------------------> 2014 ------------------> 2017
         Dist: 2014                Dist: 2017

However, I cannot figure out how to get the 2014 server to recognize the 2017 server as the distributor for its publications, while still acting as the distributor for its subscriptions. Specifically, the 2014 server is configured as a publisher at the remote 2017 distributor, but when I try to enable a 2014 database for publication in the GUI, it asks me to first enable the server as a publisher on the local 2014 distributor.

So I want to know:
1. Is it possible to configure a local distributor for subscriptions and a remote distributor for publications?
2. Could I just use the 2017 distributor for both legs? Is 2017 supported to act as a distributor for the 2008 -> 2014 replication?
3. Is there some other best practice for transactional replication from 2008 -> 2017?

Best Answer

I need to replicate this data to a 2017 server, which would require a 2017 distributor.

A SQL 2017 subscriber can use a SQL 2014 Distributor. See:

https://docs.microsoft.com/en-us/sql/database-engine/install-windows/upgrade-replicated-databases

https://blogs.msdn.microsoft.com/repltalk/2016/08/12/suppported-sql-server-versions-in-replication-topology/