深入探讨SQL Azure数据同步(下)

日期: 2011-01-24 作者:Roman Rehak翻译:康占国 来源:TechTarget中国 英文

接上文:深入探讨SQL Azure数据同步(上)   很多公司使用的另外一种刷新数据同时又保证其可用性的技术是简单的维护数据库的两个副本。一个数据库用于应用程序,另外一个用于截断和重载表的加载过程。一旦加载完成,你可以重命名两个数据库并交换他们的名字,以便刷新过的那个数据库成为当前数据库。最初SQL Azure不支持数据库的重命名,但是现在该功能工作正常了。

作为重命名的一个替代方案,在本地数据库存储一个指向SQL Azure数据库的字符连接串,更改字符连接串并且指向更改过的数据库作为你数据加载的过程,换句话说数据加载成功了。   另外一个方法是使用微软的Sync Framework,用于同步数……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

接上文:深入探讨SQL Azure数据同步(上)

  很多公司使用的另外一种刷新数据同时又保证其可用性的技术是简单的维护数据库的两个副本。一个数据库用于应用程序,另外一个用于截断和重载表的加载过程。一旦加载完成,你可以重命名两个数据库并交换他们的名字,以便刷新过的那个数据库成为当前数据库。最初SQL Azure不支持数据库的重命名,但是现在该功能工作正常了。作为重命名的一个替代方案,在本地数据库存储一个指向SQL Azure数据库的字符连接串,更改字符连接串并且指向更改过的数据库作为你数据加载的过程,换句话说数据加载成功了。

  另外一个方法是使用微软的Sync Framework,用于同步数据库、文件、文件夹和其他项目的平台。它允许你通过ADO.NET 编程方式同步数据库,当前版本为2.1,你可以使用该框架在SQL Server和SQL Azure之间同步。描述Sync Framework的所有特性和能力已经超出了本文的范围。欲了解更多的信息请访问Microsoft Sync Framework Developer Center。该框架的优点之一是,一旦你达到了基线的速率,你可以编写应用程序让你对SQL Azure数据同步具有完全控制权。除其他事情,你将能够利用其功能,如自定义冲突检测和解决以及改变跟踪。如果你需要执行双向的数据同步,这些功能都会派上用场。

  微软的开发人员使用Sync Framework开发和发布了一个叫做Sync Framework Power Pack For SQL Azure的应用软件。你可以下载并安装这个程序,但首先需要安装Microsoft Sync Framework SDK。该应用程序作为一个向导运行。在你指定本来和SQL Azure的数据库之后,选择你想同步的表。你同样可以指定如何来处理这种情况即同样的一行更新这两个数据库。图一说明了你是如何选择是采用本地数据库还是SQL Azure数据库的方式。

  向导的最后一步,指定是否在SQL Azure中创建一个1GB 或者10GB的数据库。该工具会在SQL Azure中创建一个指定的数据库并配置两个数据库需要同步的对象。它会在每一个需要同步的表上创建插入、更新、删除的触发器。而且,它会为每一个表创建另外一个带“_tracking”后缀的表。它还建立一对叫做scope_config 和scope_info 的数据库配置表。只要任一数据库的数据被修改,在同步运行的时候触发器会更新Sync Framework所用到的所有细节到跟踪表中。

  该向导还创建了一个SQL代理工作,揭开了同步可执行文件的适当的参数。你所需要做的是确定需要执行同步的时间表。这个工具不是超级快,但是运行起来非常棒,在大多数情况下,它可以处理你的同步需求。最大的缺点是,当你运行这个向导,它一定会创建一个新的SQL Azure 数据库,而且如果你指定一个现有的数据库它会失败。所以,如果你想修改那些应该同步的表,删除这个Azure数据库并且重新开始。

相关推荐