我已经在相对较慢的 VPN 连接的不同端的两个 SQL Server 之间设置了事务复制。设置是您的标准“立即加载快照”类型的事情,它在初始化订阅后做的第一件事是删除并重新创建订阅者端的所有表,然后开始对所有数据进行 BCP。问题是有几张表中有几百万行,并且该过程要么 a) 需要很长时间,要么 b) 完全失败。当我查看复制监视器时,我不断收到的消息是:
- 该进程正在运行并正在等待来自服务器的响应。
- 查询超时已过期
- 初始化
然后它会尝试重新启动批量加载过程(跳过它已经加载的任何 BCP 文件)。
我目前被困在它一遍又一遍地这样做的地方。它已经运行了几天了。
我的问题是:
鉴于网络连接速度如此之慢,我能做些什么来改善这种情况吗?也许一些设置或什么?只要过程不超时,我不介意等待很长时间。
有一个更好的方法吗?也许做一个备份,压缩它,复制它然后恢复?如果是这样,复制过程如何知道在开始应用事务时从哪里获取,因为更新将在我进行备份和恢复并在另一端运行之间发生。