慢速网络导致问题
复制以快照和增量更改形式通过网络连接分发数据。任何影响网络性能的问题(如滞后时间、吞吐量和可靠性)都会影响复制。
用户操作
一些复制设置有助于减轻网络性能问题,但复制依赖于通过 Microsoft Windows 和 Microsoft SQL Server 2005 连接组件建立的基础网络连接。如果网络连接有很高的延迟(如卫星链路),应考虑对订阅服务器和发布服务器上操作系统的传输控制协议 (TCP) 设置进行更改。有关 Windows 网络参数的详细信息,请参阅此 Microsoft website。
除了设置网络选项外,还可以:
- 对于事务性复制,考虑为分发代理参数 -CommitBatchSize 设置较低值。较低值可以减少吞吐量,但可能在不可靠网络上导致较少的失败,如果导致失败,将回滚并重新应用较少量事务。此参数可以在代理配置文件中或代理命令行上指定。
- 对于合并复制,考虑将为下列合并代理参数设为较低值:-DownloadGenerationsPerBatch 和 -UploadGenerationsPerBatch、-SrcThreads 和 -DestThreads。为 -DownloadGenerationsPerBatch 和 -UploadGenerationsPerBatch 设置较低值可以减少吞吐量,但可能在不可靠网络上导致较少量的重试。这些参数在名为“满速链接”的代理配置文件中指定,还可以在代理命令行上指定。除了设置这些参数外,还可以考虑使用 Web 同步,它通常使用较少的的网络往返次数。有关详细信息,请参阅合并复制的 Web 同步。
如果网络连接具有很高的延迟,但它是可靠的,则可考虑使用 -DownloadGenerationsPerBatch 和 -UploadGenerationsPerBatch 的默认值,并为 -LoginTimeOut 和 -QueryTimeOut 指定更高的值。
有关指定复制代理参数的详细信息,请参阅:
- 如何使用复制代理配置文件 (SQL Server Management Studio)
- 如何查看和修改复制代理命令提示符参数 (SQL Server Management Studio)
- How to: Work with Replication Agent Profiles (Replication Transact-SQL Programming)
- Programming Replication Agent Executables.