Я настроил репликацию транзакций между двумя SQL-серверами на разных концах относительно медленного VPN-соединения. Настройка - это стандартная вещь типа «немедленно загрузить моментальный снимок», когда первое, что она делает после инициализации подписки, - это отбрасывает и воссоздает все таблицы на стороне подписчика, а затем начинает выполнять BCP для всех данных. Проблема в том, что есть несколько таблиц с несколькими миллионами строк в них, и процесс либо а) занимает ДЕЙСТВИТЕЛЬНО много времени, либо б) полностью завершается неудачей. Когда я смотрю в Replication Monitor, я получаю следующие сообщения:
- Процесс запущен и ожидает ответа от сервера.
- Истекло время ожидания запроса
- Инициализация
Затем он пытается перезапустить процесс массовой загрузки (пропуская любые уже загруженные файлы BCP).
В настоящее время я застрял там, где он просто повторяет это снова и снова. Уже пару дней работает.
Мои вопросы:
Могу ли я что-то сделать, чтобы улучшить эту ситуацию, учитывая, что сетевое соединение такое медленное? Может какая настройка что ли? Я не возражаю против долгого ожидания, пока не истечет время ожидания процесса.
Есть лучший способ сделать это? Возможно, сделать резервную копию, заархивировать ее, скопировать, а затем восстановить? Если да, то как процесс репликации узнает, где забрать транзакции, когда он начнет применять транзакции, поскольку обновления будут происходить между моментом, когда я сделаю резервную копию и восстановлю ее и запустив на другой стороне.