У меня есть репликация транзакций между двумя серверами через выделенное соединение VPN. Базы данных довольно большие, поэтому я сначала использую метод резервного копирования и восстановления, чтобы передать исходный моментальный снимок на машину подписчика, а затем позволить ему применить инкрементные транзакции оттуда.
Все работает нормально, пока линия VPN не становится нестабильной (что случается иногда), и в этот момент процесс репликации склонен к блокировке. Когда я смотрю на сторону подписчика, есть несколько процессов SQL, которые кажутся зависшими и имеют блокировки в базе данных и таблицах подписчиков. Самое безумное, что эти процессы поступают из службы репликации. Могу заверить вас (методом проб и ошибок), что никакие другие процессы не блокируют эту базу данных, кроме самой репликации.
Так почему же процесс репликации может так запутаться? Почему он зависнет только из-за потери сетевого подключения? Есть предложения как-то сделать его более надежным?