Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 限制SQL server复制?_Sql Server 2008_Database Replication_Transactional Replication - Fatal编程技术网

Sql server 2008 限制SQL server复制?

Sql server 2008 限制SQL server复制?,sql-server-2008,database-replication,transactional-replication,Sql Server 2008,Database Replication,Transactional Replication,sql server 2008上当前的事务复制设置存在性能问题。 创建新快照并将快照应用于订阅服务器时,我们看到发布服务器和分发服务器上的网络利用率跃升到99%,磁盘队列也将上升到30% 这会导致应用程序超时 我们有没有办法阻止正在发送的复制数据? 我们可以限制要复制的行数吗? 是否有可设置为开/关的开关来完成此操作 谢谢 您有其他选择来处理这种情况 在具有数百万条记录的表上设置事务复制时 初始快照需要时间才能将记录传递给订阅服务器 在SQL 2005中,我们可以选择在事务服务器和发布服务器上

sql server 2008上当前的事务复制设置存在性能问题。 创建新快照并将快照应用于订阅服务器时,我们看到发布服务器和分发服务器上的网络利用率跃升到99%,磁盘队列也将上升到30% 这会导致应用程序超时

我们有没有办法阻止正在发送的复制数据? 我们可以限制要复制的行数吗? 是否有可设置为开/关的开关来完成此操作


谢谢

您有其他选择来处理这种情况

  • 在具有数百万条记录的表上设置事务复制时
  • 初始快照需要时间才能将记录传递给订阅服务器
  • 在SQL 2005中,我们可以选择在事务服务器和发布服务器上创建表,填充数据集并在其上设置复制
  • 使用EXEC sp_addsubscription命令添加订阅时,请设置@sync_type='replication support only'
  • 参考文章

我们的DBA迫使我们将dml代码分解为一次运行50000行,间隔几分钟。他经常使用批量大小,但这样我们的复制数据库就可以了。 对于批处理,所有内容都必须进入临时表,一个新列(命名为Ordinal)执行row_number(),然后一个BatchID类似于Ordinal/50000。最后是一个循环,用于对BatchID进行计数并逐批更新目标表。对开发人员来说很难,DBA更容易,而且无需为基础设施支付更多费用