For SQL 2008 R2 we need to configure transactional replication on a mirrored database and configure replication to failover if the database fails over. This appears to be supported:https://msdn.microsoft.com/en-us/library/ms151799(v=sql.105).aspx and https://www.pythian.com/blog/how-to-configure-transactional-replication-mirroring-failover/ .
My test setup is:
Serv1- Remote distributor
Serv2 - Principal
Serv3 - Mirror
Serv4 - Subscriber
So we
- Made Serv1 the distributor for both Serv1 and Serv2
- Created a publication on Serv1
- Created a subscription on Serv3.
- Changed the snapshot and log reader agents on Serv1 to use the -PublisherFailoverPartner [Serv2] parameter
- Restarted Serv1 instance
Replication works fine until we fail over the mirror to serv2. At that point replication stops when we enter data on serv2.
- During this time we see login failures for the log reader agent on serv1. Replication agents appear to be ignoring the -PublisherFailoverPartner parameter.
- Failing back to Serv1 restarts replication.
Any ideas why the -PublisherFailoverPartner is being ignored? Troubleshooting tips? We did try changing the default agent profiles - no happiness there either.
thanks
Peter