I have a transactional replication process set up to replicate changes on a database between two SQL Server systems. The replication process is bi-directional (there is a publisher and a subscriber at both ends), except that DDL changes can only flow in one direction.
My issue is that one of the subscribers periodically loses the connection to its publisher on a push-based subscription. When you click "View Synchronization Status" on the subscriber entry, a SQL Server connection dialog box will be displayed, and after the connection is manually completed the normal View Synchronization Status is displayed. Any queued changes will then be replicated.
If the View Synchronization Status window is kept open, the subscriber will continue replicating, but if that window is closed, it will eventually lose its connection, and the replication process in that direction will stop.
I have reviewed the Schedule for all of the agents on both sides, and all of them are enabled and set to "Start automatically when SQL Server Agent starts", so the subscriber should presumably connect and run automatically.
How can I reconfigure this so that the subscriber is always running, and doesn't need to be manually connected?