SQL Server提高你的合并复制性能

点燃你的合并复制性能

改善合并复制性能的最好的方式就是尽可能地运行合并代理。然而,如果你的用户不在线,那么你就无法运行合并代理,并且你应该劝告你的用户尽量频繁进行同步。以下的贴士将会帮助你提高合并复制的性能。

1、使用合适的配置文件(profile)

关于合并复制性能,你有几种特定的配置文件可以用来解决特定的需求。要察看这些配置文件,右击你的合并代理,选择代理配置(profile),然后从以下列表中选择合适的配置文件:

默认的代理配置文件

高容量服务器对服务器的配置文件

行数和检查总量确认配置文件

行数确认配置文件

缓慢链接代理配置文件

详细历史代理配置文件

Windows同步管理器配置文件

2、简化你的过滤器

过滤器限制了发布者每次运行合并代理时需要同步的数据总量。如果你使用了过滤,那么确保你在过滤器上放置了索引,因为它们可以加强性能。

要简化你的过滤器,你也许需要重新设计你的表。如果你在过滤器中使用了Host_name参数,那么你可以在描述中使用合并代理中的HostName属性来忽略主机名数值。确保匹配你的过滤器条件的每个字段都经过索引,并且索引经常更新。

3、增加批处理尺寸

要尽量增加你的批处理尺寸。当Declarative Referential Integrity (DRI)发生的时候(这些错误是合并同步中常见的部分,并且在同步代理下一次运行的时候清除),通过阻止合并代理错误可以经常性的改善整体性能。

UploadGenerationsPerBatch

DownloadGenerationsPerBatch

UploadReadChangesPerBatch

DownloadReadChangesPerBatch

UploadWriteChangesPerBatch

DownloadWriteChangesPerBatch

在你的合并代理的属性页上设置这些参数。

4、经常性的重新索引合并表

经常性的重新对MSmerge_contents, MSmerge_tombstone, MSmerge_genhistory 和 MSmerge_replinfo表进行索引,改善整体复制性能。

5、限制冲突设置

限制你的合并复制冲突设置。要做到这一点,右击你的合并复制,并选择属性。在Subscriptions最后部分,选择在他们重新同步之前,你所期望的Subscriptions的掉线时间最小值。通常你会发现Subscribers会在掉线合适的时间之后,重新同步所需要的时间比他再次发送一个新的快照并重新启动的时间要长。

6、使用可选的同步伙伴

可选的同步伙伴特性允许你的发布者离线(例如,服务离线),并且你的订阅者连接到另一个备选的发布者,直到你的发布者重新在线。当使用可选的同步伙伴的时候,这里有很多限制;例如,它不允许自动的识别范围分割调整,并且当发布者无法达到的时候,你不能自动地对你的订阅者使用可选的同步伙伴进行错误恢复。咨询微软支持来获得更多有关如何安装备用同步伙伴的信息。注意:这个特性只有在SQL Server2005中可以获得。

7、为高可用性重新发表

由于使用可选的同步伙伴的限制,许多的复制拓扑设计者都在高可用性合并复制解决方案中挣扎。答案就是使用重新发布——让订阅者成为其他订阅者的发布者。通过这种方式你就可以在总部有一个主发布者,每个区域有一个订阅者(东、南、西、北区域),然后连接到每个州办公室,并在这些区域的服务器中进行同步。要做到这一点,你需要仔细选择全球优先级别来构建拓扑结构。

时间: 2024-09-19 09:13:55

SQL Server提高你的合并复制性能的相关文章

Sql Server2000+Sql Server Mobile Edition配置合并复制

近期都在研究合并复制的配置.我需要的环境是这样的,服务器端的数据库采用SQL Server 2000.PPC,客户端采用的精简数据库是Sql Server Mobile Edition. 时下大多采用的数据库配合方式基本上是sql server 2005和Sql Server Mobile Edition.其实,我也想这样采用.但是考虑到原有的数据库系统是采用2000的版本,很难让原来的研发人员去花费时间整迁移. 本来,精简数据库要选择sql ce 2.0.但在安装过程中总是无法成功解决Serv

SQL Server中一个隐性的IO性能杀手-Forwarded record

原文:SQL Server中一个隐性的IO性能杀手-Forwarded record 简介     最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动.本篇文章分享什么是forwarded record,并从原理上谈一谈为什么Forwarded record会造成额外的IO.   存放原理     在SQL Server中,当数据是以堆的形式存放时,数据是无序的,所有非聚集索引的指针存放指向物理地址的RID.当数据行中的变长列增

几种SQL Server分页的存储过程写法以及性能比较

几种SQL Server分页的存储过程写法以及性能比较 存储过程的5种分页写法,下面的代码是从忘了什么时候从别人那Ctrl+C来的,所以仅仅作为收藏,希望作者看到不要喷我.  ------创建数据库教程data_Test ----- create database data_Test  GO use data_Test GO create table tb_TestTable   --创建表 (     id int identity(1,1) primary key,     userName

使用SQL Server 2008进行服务器合并

1.导言 随着公司使用越来越多的应用程序来管理业务流程.提供新的服务.和获得对业务执行情况的观察, 支持这些应用程序所需的应用程序服务器和数据存储服务器的数目显著地增多.在许多公司里,硬件成本 以及部署和维护公司内的多个服务器的费用是主要的财政和后勤预算. 同时,在硬件和软件技术方面的提高意味着现代IT系统可以处理比之前多很多的工作量.这促使将软 件服务合并到较少的物理服务器上,从而使得更多地使用较少的硬件.这降低了购买和维护服务器的相关 成本,并使得可以实现更高效的和更有效的IT基础设施管理.

一步一步学SQL Server BI 4:合并数据2

上次我们并没有实现http://www.aliyun.com/zixun/aggregation/16544.html">Excel中的数据与数据库中的数据进行整合,存在即更新,不存在即插入.这次主要介绍几种方法来实现: 1.使用Lookup 2.使用execute SQL task调用存储过程 3.使用script component脚本实现 4.使用MERGE 语句(SQL SERVER 2008) 5.使用上次我们用到的Merge来实现 6.使用第三方组件SCD Component

Forwarded record:SQL Server中一个隐性的IO性能杀手

简介 最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动.本篇文章分享什么是forwarded record,并从原理上谈一谈为什么Forwarded record会造成额外的IO. 存放原理 在SQL Server中,当数据是以堆的形式存放时,数据是无序的,所有非聚集索引的指针存放指向物理地址的RID.当数据行中的变长列增长使得原有页无法容纳下数据行时,数据将会移动到新的页中,并在原位置留下一个指向新页的指针,这么做的原因是由

SQL Server如何通过备份文件初始化复制

一.背景 MySQL在对有历史数据的数据库进行搭建复制(Master/Slave)的时候,可以通过在Master服务器备份历史数据,利用这个备份文件在Slave进行还原:这样做的好处是可以更加快速的搭建好环境,因为可以对备份文件进行压缩.分包,并且可以使用FTP等工具保证传输过程的安全与快捷:详情可参考:Windows下搭建MySQL Master Slave 当SQL Server遇到同样需要对历史数据库搭建复制,通常的做法是在本地发布快照,再由订阅传输数据,那SQL Server应该如何实现

SQL Server 跨网段跨机房复制

一. 背景 搭建SQL Server复制的时候,如果网络环境是局域网内,通过主机名就可以实现了,但是如果是跨网段.跨机房异地搭建复制的时候就需要注意了,因为SQL Server复制不支持通过IP连接分发服务器,那有什么办法解决跨网段.跨机房的问题呢? 二. 解决方案 在跨网段.跨机房进行SQL Server复制的时候需要区分两种情况:一种是外网IP的1433端口对应了这台机器SQL Server的数据库端口:另外一种情况是外网IP对应SQLServer机器的端口不是1433:下面是几种解决方案:

SQL Server与Oracle、DB2的性能比较

开放性 SQL Server 只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的.Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业.而且Windows平台的可靠性,安全性和伸缩性是非常有限的.它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时. Oracle 能在所有主流平台上运行(包括 Windows).完全支持所有的工业标准.采用完全开放策略.可以使客户选择最适合的解决方案.对开发商全力支持. DB2 能在所有主流