SQL Server 事务复制调优(1)

在如今有规模的OLTP系统中,为了缓解数据库单点读写压力,特别是读的压力,采用复制多个副本,是解决问题的一个不错的方法。

而SQL Server的事务复制 Transactional Replication  是我们所采用的最多的复制形式。以往的一些文章总是介绍一些基本的搭建,

缺少一些优化方面的介绍,今天我就简单介绍其中一些可以调整优化的地方,(其实微软这方面已经做的很出色,默认的情况下就以能

满足我们大部分的情形,希望通过这篇文章的介绍,大家结合自己系统的实际情况,做些调整可能会有一些意想不到的收获,注意在生产

环境中请谨慎操作)

在这之前,我们先回顾一下 事物复制 的流程

我们可以看到 从Publication 到 Subscriber  这这期间经历了LogReader Agent  , Distribution Agent 这两个代理

用来传输生产库中,产生的数据变化,并最终体现到订阅库中。而对于这两个代理是否有可以优化的内容呢,在这篇文章中

我们先关注下 LogReader Agent。在之后的文章,我们将继续介绍其他可调整的地方。

LogScanThreshold

ReadBatchSize

ReadBatchThreshold

MaxCmdsInTran

先回家吃饭

未完待续。。。

时间: 2024-12-11 17:35:42

SQL Server 事务复制调优(1)的相关文章

如何处理SQL Server事务复制中的大事务操作

如何处理SQL Server事务复制中的大事务操作 事务复制的工作机制 事务复制是由 SQL Server 快照代理.日志读取器代理和分发代理实现的.快照代理准备快照文件(其中包含了已发布表和数据库对象的架构和数据),然后将这些文件存储在快照文件夹中,并在分发服务器中的分发数据库中记录同步作业. 日志读取器代理监视为事务复制配置的每个数据库的事务日志,并将标记为要复制的事务从事务日志复制到分发数据库中,分发数据库的作用相当于一个可靠的存储-转发队列. 分发代理将快照文件夹中的初始快照文件和分发数

SQL Server 事务复制分发到订阅同步慢

原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问题,需要了解从发布数据库到订阅数据库中,有哪些操作,才知道哪个步骤同步缓慢. 这是很久之前自己做的一张图,主要描述发布到分发.分发到订阅中,复制使用了哪些操作,如下图: 发布到分发: 在发布中,复制是使用日志读取器读(sp_replcmds)取发布数据库中的事务日志的,日志读取器是按事务顺序读取的,

监控SQL Server事务复制

通常,我们可以使用SSMS的复制监视器来监控复制.但我们不能24小时盯着看,得使用自动化的方式来监控它.微软在distribution数据库提供了系统存储过程dbo.sp_replmonitorsubscriptionpendingcmds,用于返回订阅上等待的命令数,以及需要投递所有这些命令到订阅者的时间的预估.我创建了一个每10分钟运行的作业,保存状态的历史记录数据到一个表,数据保留14天. 这个表在订阅者服务器的DBA数据库创建,代码如下: CREATE TABLE dbo.Replica

SQL Server 事务隔离级别详解

原文:SQL Server 事务隔离级别详解 标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设计数据库事务级别 SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用. 步骤 事务隔离级别通过影响读操作来间接地影响写操作:可以在回话级别上设置事务隔离级别也可以在查询(表级别)级别上设置事务隔离级别.事务隔离级别总共有6个隔离级别:READ UNCOMMITTED(未提交读,读脏),相当于(NOLOCK)R

sql server 本地复制订阅 实现数据库服务器 读写分离(转载)

转载地址:http://www.cnblogs.com/echosong/p/3603270.html 再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下SQL Server的复制订阅实现数据的读写分离 比起mysql的复制,SQL server 复制相对强大 一. 名词解释 1.复制的 机构组成(类比报纸流通): 1).发布服务器(报社出版) 生产维护数据源,审阅所有出版数据的更改 发送给 分发服务器(邮局) 2).分发服务器 (邮局) 分发服务器包

sql server 本地复制订阅 实现数据库服务器 读写分离

原文:sql server 本地复制订阅 实现数据库服务器 读写分离 再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下SQL Server的复制订阅实现数据的读写分离 比起mysql的复制,SQL server 复制相对强大 一. 名词解释 1.复制的 机构组成(类比报纸流通): 1).发布服务器(报社出版) 生产维护数据源,审阅所有出版数据的更改 发送给 分发服务器(邮局) 2).分发服务器 (邮局) 分发服务器包括分发数据库,并且存储元数据.历史

从算法入手讲解如何在SQL Server中实现最优最简

算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键.在计算机世界中,算法无处不在.数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储.查询.统计.以解决现实世界中的问题已经是屡见不鲜.随着数据量的大幅度增加和业务规则的日益复杂,越来越需要一种专门的方法来满足效率和准确性方面的要求.如何把解决问题的复杂算法转换为数据库能够执行的命令,也是数据库应用技术研究的一个方面.本文以MSSQL中的命令来阐述例子. 数据库中可以存储实体的数据集合,在进行运算时,数据库

Sql Server 事务日志

Sql Server事务日志文件是数据库文件的重要组成部分,事务日志主要用来存放数据库的修改记录.数据库为了得到更高的写入效率和性能,同时保证ACID特性,数据在写入时,会将更新先写入事务日志,因为事务日志是连写的,所以写事务会比较快.简单来说,顺序写入时,磁盘的磁头会保持在一定的区域内连续写入,而数据写入数据文件时,有随机性,磁盘的磁头移动消耗的时间要比数据写入日志文件时多. Sql Server对于事务日志文件的管理,是将日志文件在逻辑上分成若干个文件(VLFS),方便管理. 创建一个1M的

SQL Server 2000 复制同步配置及常见问题详解(下)

SQL Server 2000 复制同步配置及常见问题详解(下) (二)分发.发布服务器端配置及问题 1.启动配置发布.订阅服务区器和分发向导 2.指定网络位置上的快照共享文件夹 3.配置完成4.启动新建发布向导 5.选择要发布的数据库6.选择合并发布,这样无论哪一端数据发生变化都会全范围同步7.这里可以选择兼容老版本的SQL Server,默认只选20008.选择要发布的数据库中的对象9. 11.设置新建发布属性 12.勾选“允许匿名订阅”问题五:若此处没有勾选“允许匿名订阅”,则会在订阅配置