I have a 3 server transactional replication configuration:
Server A (SQL 2008R2 and WinSvr 2008R2) is a publisher of database DB1. It is a business critical OLTP VM which is used 24/7.
Server B (SQL 2008R2 and WinSvr 2008R2) is the distributor. It is also a subscriber of database DB1 and a publisher of database DB1. The sole purpose of this server is to handle DB1 data requests separate from Server A.
Server C (SQL 2016 and WinSvr 2016) is a subscriber to DB1 from Server B.
-------------------------------------------------------------------------------------------
Last year we upgraded Server C to SQL 2016. This year we want to upgrade Server B.
At first I thought this would be easy. We would just stand up a new VM (Server B2) and then I would create a new publication on Server A that would replicate to Server B2, leaving our original replication stream from Server B to Server C intact.
Once we verified that the 1st part of the replication stream from Server A to server B2 was functioning properly, we could delete the subscription on C and recreate it to read from the new B2 replication server.
However, I don't think that I can have a publication database that points to 2 distributors. Does someone have some suggestions for how we might be able to upgrade this server?
Also, we have plans to upgrade Server A next year, but it's been determined that it would be too risky to upgrade them both at the same time.