事务复制中的日志读取器代理在重复作业期间扫描大型事务日志,从而导致延迟

时间:2012-11-06 14:34:57

标签: sql-server-2008 transaction-log transactional-replication

我们刚刚在涉及事务复制的中型流量数据库上实现了一项新作业,该数据库将处理来自Excel电子表格的输入并调用存储过程以在该数据库的各个表中创建记录。

涉及的一个字段是文本数据类型,其范围可以是10k-30k字符。在作业中,自定义SQL Server函数从大型HTML主体中解析出一个URL并将其写入表中。

由于流程的密集性或过程似乎是这样,我们每半小时每个作业执行一次只处理电子表格中的35条记录或行。我们看到的是事务日志以惊人的速度增长,从而导致发布者到订阅者的相当大的延迟,因为日志阅读器代理扫描整个事务日志并找到0条记录进行复制。

从透视角度来看,日志大小约为30GB,并且不能小得多,因为运行5-6次作业会使其超过该大小。我们经常备份分发数据库(每5分钟一次)和事务日志每15次。

我们迫切需要一种解决方案,我们可以减少延迟,或减少日志中的读取(I / O)量。我意识到可能需要在应用程序/作业方面完成工作,但复制配置中是否有任何可以帮助解决此延迟并从日志中浪费扫描的问题?

非常感谢任何帮助。谢谢。

0 个答案:

没有答案