一步步教你配置SQL SERVER合并复制(一)概念介绍

Rob Tiffany's 曾经在 MEDC 2007 Las Vegas 和 Tech Ed 2007 Orlando 演示了拥有800个订阅的4层合并复制架构。之后他开始编写一本叫《Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1》的书,将构建高性能、可伸缩性的合并复制架构的宝贵经验整理到书中,由于国内关于这方面的详细资料太少了,于是萌发将其翻译出来的念头。好了,闲话不多说了开始翻译:

前言:

设备中拥有一个数据库,服务器中拥有一个数据库,让设备中的数据能够跟服务器的数据同步已成为行业移动解决方案两个重要的因素。服务器的数据库存储着所有的数据,而它必须将 mobile中的应用程序所需要的数据推送到mobile中的数据库中去,同样地,mobile中修改的数据也需返回到服务器中去。微软的SQLSERVER提供了一种技术叫做合并复制,通过区域的网络,设备中已订阅的数据库将能通过复制的形式从服务器发布的数据库中下载数据,并能通过合并的方式将设备中对数据库的更新,修改,插入提交回服务器发布的数据库当中去.

这里,合并复制有个很好的功能就是,它只捕获修改设备中修改过的数据并将其更新到数据库当中去,并且它在协调多个设备发回来的数据有着很好的性能.

早在SQL SERVER CE1.0在2001年出来的时候,合并复制就成为一个很好的数据同步技术,并且它支持winodws mobile设备.随着互联网标准的公布,SQL SERVER 开发团队让移动设备的数据与服务器的数据同步不仅仅只能通过局域网,还可以通过无线网络,透过Http,wap等传输协议与服务器的数据进行同步.随着SQL Server CE支持合并复制,Windows Mobile 逐渐成为企业应用的一个平台,并且它支持Embedded Visual Basic,Embedded C++等开发工具和.NET Compact Framework框架,从2001到现在SQLSERVER也从2001升级至2005,马上2008又要出来了,SQL SERVER CE也从1.0升级至3.1版本,随着每一次的更新升级,数据同步技术变得更快,并且能更好地处理丢失的数据.现在,合并复制代表着一种最高级的技术,在这竞争日趋激烈的网络中,没有其他的数据同步解决方案能有像合并复制这样的深度和性能.

既然这样,那我们在使用SQL Server CE数据同步的时候有其他选择么?答案是肯定的.

(1)在.NET Compact Framework下,我们可以使用ADO.NET直接与SQL SERVER 进行连接,在局域网中,这或许是一种最佳的解决方案,但你能让你的移动设备时时刻刻都连接在局域网中吗?

(2)第二种方法是RDA,它像是合并复制的弟弟一样,它在SQL SERVER端几乎不用做任何配置,你只需写代码让它用pull方法从数据库中pull数据,然后用push方法将数据push回去,但是它不根据服务器端数据的变化,因此每次你都得将全部数据pull过来,全部数据push回去.

(3)第三种方法是使用webservice,你可以建立一个自定义的xml文件,将webservice中传输的数据序列化到DataSet当中,然后将DataSet的数据写入到XML文件当中去,这种解决方案能够解决前面两种只针对SQL SERVER数据库的,这种方法你还可以连接到其他类型的数据库比如Orcacle or DB2,不过你所要做的工作是编写数千行代码来实现这个,并且XML在处理大数据量时的效率并不尽如人意.

情景:

当你意识到合并复制在你的SQL SERVER 数据与SQL SERVER CE同步的重要性时,下面的这几个案例或许能够阐明这项技术能给你解决方案带来的价值.

(案例主要讲解windows mobile在各个领域的应用,以及合并复制在mobile的数据与服务器的数据同步时所起的作用,因为案例较多,由于时间的关系这边就不一一翻译了,个人认为这些案例对我们的用处不大)

时间: 2024-10-30 16:44:01

一步步教你配置SQL SERVER合并复制(一)概念介绍的相关文章

一步步教你配置SQL SERVER合并复制(八)代码部分

一步步教你配置SQL SERVER合并复制(八)代码部分(使用.NET CompactFramework) 这个系列的翻译也拖了一段时间,现在决定一次性将它理清了.关于合并复制服务器的配置在前面的翻译文章中都已经详细地论述完了,现在终于到了订阅者是如何使用我们配制好的合并复制了.下面的代码是针对.NET CompactFramework的,其实整个合并复制的过程中,安装和配置占了95%的时间,而创建订阅仅仅需要5%的时间,合并复制的这个特征减小了我们敲代码时出现错误的几率,将更多地工作移植到了服

一步步教你配置SQL SERVER合并复制(五)配置Publisher(上)

(译者注:本篇内容较多也是合并复制最重要的一个环节之一,因此配置Publisher将分成两个章节来翻译) 当 SQL SERVER Distributor配置完成后就可以全力去配置 SQL SERVER PublisherPublisher是提供数据供设备同步复制的数据库,我们必须实现它.首先还是打开你的SQL SERVER,在资源管理器这个窗口,展开Replication这个文件夹,右击Local Publications文件夹,然后选择 New Publication. 第一个界面还是向导界

一步步教你配置SQL SERVER合并复制(二)建立域用户

接下来的篇幅,我将介绍如何构建能够满足全世界最大的移动行业应用的同步系统,你将会发现它可以当成一个工具书一样进行使用而不仅仅是一个理论的练习,我不会浪费你们的时间仅仅去建立一些理论概念,你们完全有卷起袖子动手操作的机会. 下面我建了一个域叫做SYNCDOMAIN,在这个域里建了个用户叫SYNCDC,和一个IIS服务器叫做SYNCWEB,一个SQL SERVER Publisher 叫做SYNCPUBLISHER,一个SQL SERVER Distributor叫做SYNCDISTRIBUTOR.

一步步教你配置SQL SERVER合并复制(七)管理Publication

现在要确保在第二篇所配置的域用户拥有访问这个Publication的权限,因此我们要把这个用户加入到SQL SERVER的用户组并能管理发布这个Publication.打开我们的SQL SERVER,展开Security文件夹然后右击Logins选择New Login... 在Login-New这个页面中,将第二篇所配置好的SYNCDOMAIN\syncuser用户填入Login name文本框中. 在右边的Select a page的导航栏中选择User Mapping,选上ParkSurve

一步步教你配置SQL SERVER合并复制(六)配置Publisher(下)

在弹出来的Add Filter这个页面,在左边的栏里你可以到表中的字段都罗列出来了,双击CityId列将它移到右边的Fileter statement,增加一个条件像CityId=1这样的,这样的话就会减小订阅用户同步数据的数量,当然这里的值你必须定义一个常量,因此这个叫做Static Filter(静态查询). 在我们的应用中表里的数据有几百万条是一件很正常的事,但有时候设备所需要的数据却仅仅是这几百万条中的几千条,这个时候静态过滤就派上它的用场了.我们继续,先将CityId=1删除掉因为我们

一步步教你配置SQL SERVER合并复制(四)提高Distributor的安全性

为了让已订阅数据库的设备能够更好地去联系Distributor,你必须在数据库中添加一个域用户,让设备能够通过这个用户的权限来访问发布数据库. 打开SQL SERVER资源管理器,展开Security这个选项,右键点击Login文件夹,选择New Login... 在Login-New这个页面,选择Windows Authentication单选按钮,然后点击Search. 在弹出来的Select User or Group这个页面,点击Locations,展开Entire Directory节

一步步教你配置SQL SERVER合并复制(三)配置Distributor

SQL Server Distributor的一个职责是处理包含着发布的数据库的内容的一个快照文件夹,它赋予IIS从你建立的这个共享文件夹读取文件的的通道.打开资源管理窗口,展开我的电脑,在C盘新建一个叫做Snapshot的文件夹如下图所示(我的建议是将这个文件夹建立在系统或SQL SERVER安装的地方),右击这个文件夹,选择Sharing and Security. (译者注:因为图片很多,所以我尽量减小图片的大小以加快页面的传输速度,因此图片的显示不是很清晰,但绝对看得清楚) 点击Shar

教你维护SQL Server数据库日志。

[导读]教你维护SQL Server数据库日志. 交易日志(即oracle中的事务)(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分.由于它并不像数据库中的schema那样活跃,因此很少有人关注交易日志. 交易日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中.对于任何每一个交易过程,交易日志都有非常全面的记录,根据这些记录可以将数据文件恢复成交易前的状态.从交易动作开始,交易日志就处于记录状态,交易过程中对数据库的任何操

配置SQL Server 2005 express与jdbc连接

本文主要介绍了配置SQL Server2005 express与jdbc连接的全过程. SQL Server2000下的Java应用能否在SQL Server 2005 express上运行,经过不断测试与配置,总结以下经验: 1:首先确认SQL Server2005 express已经安装好了. 2:启用TCP/IP协议. 在"程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器"中打开TCP/IP协议.如下