如何实现SQL Server到SQL Azure的数据同步

日期: 2010-09-14 作者:碎片 来源:TechTarget中国 英文

  Microsoft Sync Framework(微软同步框架)的目标则是实现可通过任何协议实现任何类型数据同步的一个可扩展架构。自2009年10月Sync Framework 2.0上市以来,微软Sync Framework开发小组的重点工作就放在了如何扩展同步框架功能上,其中就包括了如何在SQL Server上实现基于微软云数据库同步服务,此服务和功能已经演变为现今网络上赫赫有名的微软SQL Azure服务。

  虽然现有的ADO.NET提供程序已能与SQL Azure进行同步,但微软还是重新创建了一个同步提供程序以提高执行效率并保证与SQL Azure进行数据同步的可靠性。Microsoft Sync Framework Power Pack for SQL Azure包含了全新的提供程序、SqlAzureSyncProvider和其它自动化工作。

  SQL Azure Data Sync数据同步工具为用户提供了配置向导,以帮助用户在SQL Sever数据库和SQL Azure数据库之间同步数据并定义同步规则。有了此工具,管理员只需轻点鼠标便可以将企业数据库方便同步到云当中。

  Visual Studio 2008 Professional SP1中也创建了一个名为SqlAzureDataSyncClient模板来缓存SQL Azure当中的数据,以方便地为要使用云数据的应用程序提供脱机数据功能。

  组件

  Microsoft Sync Framework Power Pack for SQL Azure主要由如下几个部分组成:

  1. SqlAzureSyncProvider

  微软已经发布了全新的同步框架引擎以扩展SQL Azure同步提供程序,此提供程序被称为SqlAzureSyncProvider。这是一个全新的免费应用程序,它可以使同步框架引擎高效并可靠地完成复杂的SQL Azure云数据处理和同步过程。

  2. Visual Studio插件

  此插件为Visual Studio 2008 Professional SP1提供了一个全新的SqlAzureDataSyncClient项目模板,使用这个项目可以实现SQL Azure到客户端同步填充适当程序集引用,其中还会生成一个被命名为Synchronize的类名,以使开发人员可以调用应用程序自动同步到云数据的方法。

  3. SQL Azure Data Sync数据同步工具for SQL Server

  使用该工具向导可以实现SQL Server和SQL Azure之间的数据自动同步。当配置完成时,此工具可以在SQL Server Agent保存同步配置,这样就可以方便我们在任何时间执行同步了。

  准备工作

  1. 确保已经安装了Sync Framework 2.0 SDK

  Sync Framework 2.0 SDK下载地址为http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=89adbb1e-53ff-41b5-ba17-8e43a2e66254

  2. 确保在sql.Azure.com已有账户

  使用Windows Live ID登录http://www.microsoft.com/windowsazure/getstarted/#sql

  3. 确保Visual Studio 2008 Professional SP1已经安装但未运行

  4. 确保SQL Server 2008已经安装并且没有运行

  为获得最佳效果,最好使用SQL Server 2008 R2版本,其SQL Server Management Studio已经原生支持了到SQL Azure的同步功能。

  5. 确保SQL Server代理服务正在运行

  在服务中将SQL Server Agen服务配置为”自动”启动。

  安装

  下载Microsoft Sync Framework Power Pack for SQL Azure,然后双击此MSI安装包并用默认选项进行安装。此时程序会自动为Visual Studio 2008 Professional SP1设置SQL Azure同步插件,并安装用于SQL Server的SQL Azure数据同步工具。

  Sync Framework您可以在微软下载中心找到http://www.microsoft.com/downloads/details.aspx?FamilyID=bce4ad61-5b76-4101-8311-e928e7250b9a&displaylang=en

  该工具需要安装到默认路径,如何更改了安装路径,则任何SQL Server作业都需要手动在工具中进行更新。

  使用

  用于SQL Server的SQL Azure数据同步工具

  本部分我们主要演示用于SQL Server的SQL Azure数据同步工具的主要用法,此工具会自动利用SqlAzureSyncProvider以实现SQL Azure和企业内部SQL Server之间的数据同步。

  1. 在”开始”菜单”所有程序”-Microsoft Sync Framework中找到并打开”SQL Azure Data Sync Tool for SQL Server”。此时启动的向导会对本地SQL Server实例进行配置并自动提供一个用于同步的Azure数据库。点击”下一步”继续。

  2. 此时请确保服务器名称、数据库名称及与sql.Azure.com所关联的Live ID账户和密码都输入正确。点击”下一步”继续。(图1)

  

  3. 输入将要与SQL Azure进行同步的SQL Server实例和数据库名称。(图2)

  

  4. 在选择框选择要与sql.Azure.com帐户相关联的数据库表,并将它们添加到同步范围。点击”下一步”继续。(图3)

  

  5. 在选择框中通过”Move Up”和”Move Down” 来调整表的同步顺序并点击”下一步”继续。(图4)

  

  6. 同步范围确定以后,还必须指定在本地数据库中指定一个唯一名称,再指定所选的SQL Azure数据库为1GB或10GB类型。点击”Process”来完成配置过程。(图5)

  

  7. 打开SQL Server Management Studio查看SQL Server Agent 同步任务名是否已经正确创建。如果已经正常创建,则该同步任务可以在任何时间执行本地数据库到所选云数据库的副本同步。

  用于Visual Studio的SQL Azure离线插件

  本部分我们主要演示如何使用Visual Studio中新的SqlAzureDataSyncClient项目模板来轻松实现到SQL Azure的数据同步。当添加一个新项目时,SqlAzureDataSyncClient会自动创建一个本地数据存储类以简化整个同步过程。

  1. 在Visual Studio 2008 Professional SP1中创建一个控制台应用程序项目

  2. 该项目被加载后,右击”解决方案资源管理器”窗格,然后悬停在”添加”上,并单击”新建项目”。(图6)

  

  3. 向下滚动并选择”SqlAzureDataSyncClient”下的 “My Templates.”–输入一个同步客户端名称–点击”OK”继续。(图7)

  

  4. 此时会出现一个”SQL Azure Data Sync”数据同步向导,并已经选中”SQL Azure Connection”。此时输入服务器名称、数据库名称及与sql.Azure.com所关联的Live ID账户和密码都输入正确。点击”下一步”继续。(图8)

  

  5. 在”Select Tables to Sync”中选择并添加要同步的范围,点击”下一步”继续。(图9)

  

  6. 此时同步范围已经确定,我们还需要输入一个同步范围名称,并点击”下一步”继续。(图10)

  

  7. 在此步骤中,需要指定本地数据存储文件的路径,并点击”下一步”,最后点击”完成”来结束配置。

  8. 引用会被自动添加到Sync Framework、数据库、XML和SQL Azure Data Sync数据同步组件。

  9. 开发人员可以在程序中的任何地方来调用同步方法,例如使用C#:

  static void Main(string[] args)

  {

  SqlAzureSyncClient_YOURSYNCSCOPENAME_Offline.Synchronize();

  }

  10. 按F5生成该项目并在调试模式下启动该程序。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

作者

碎片
碎片

相关推荐