科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server向云数据库迁移的三大利器

SQL Server向云数据库迁移的三大利器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在图2所示的界面中输入SQL Azure服务器名称、数据库名称、用户名、密码,也可以点击测试,输入完成后点击“下一步,next”如图3所示:使用同步框架可以同步数据库,使用SQLAzureMW可以迁移数据库,使用Gem Query可以查询数据,有了这三大利器,相信大家对SQL Azure的开发更有信心了。

作者:蒋建华 来源:it168网站 2010年7月2日

关键字: SQL Server

  • 评论
  • 分享微博
  • 分享邮件

  SQL Azure 是微软云计算平台(Windows Azure Platform)的三大组成部分之一,是一个部署在云端的关系型数据库引擎,它支持SQL Server中绝大多数和开发有关的功能。SQL Azure与本地的SQL Server和VS 2008/2010可以很容易的集成开发。

  云应用的开发者可以使用T-SQL查询数据,这类似于我们现在使用T-SQL在本地环境中查询SQL Server上的数据。SQL Azure具有高可用性和高可扩展性,能够在SQL.Azure.com进行注册。但是微软云计算平台没有为开发者提供SQL Azure场外管理工具和开发工具,因此,我们首先需要开发一个本地的数据库,然后把本地的数据库迁移到SQL Azure上去,有关迁移的方法,可以参考:迁移现有SQL数据库至SQL Azure。

  由微软或者第三方的一些开发者已经提供了一些SQL Azure工具,使用这些工具可以把本地SQL Server和SQL Azure数据库进行集成。在这些不多的工具中,Microsoft Sync Framework, SQL Azure迁移向导(the SQL Azure Migration Wizard,SQLAzureMW)和Gem Query是最流行的三个工具,本文就是介绍这三大利器,来帮助开发者更好的进行SQL Azure的开发。

  Microsoft Sync Framework

  Microsoft Sync Framework通过云可以同步任何类型的数据。同步框架包为SQL Azure提供了一个在生产环境的SQL Server数据库和SQL Azure数据库之间的同步功能。不仅如此,同步框架包为Visual Studio提供了一个插件。同步框架包由以下几个部分组成:

  SQL Azure同步提供者,SqlAzureSyncProvider:是一个新型的数据提供者,为SQL Azure提供了一流支持,提升了性能与可靠性。

  Sql Azure 离线VS插件,Sql Azure Offline Visual Studio Plug-In:为VS 2008 SP1提供了新的项目模板SqlAzureDataSyncClient。

  对SQL Serverd SQL Azure数据同步工具,SQL Azure Data Sync Tool for SQL Server:提供了一个向导式的工具。使用此工具能够同步SQL Server和SQL Azure之间的数据。

  新SQL Azure事件,New SQL Azure Events:增加了诸如ApplyChangeFailed, ApplyMetadataFailed和所有改变枚举事件。

  自动提取,Automated Provisioning:使用类SqlAzureSyncScopeProvisioning 和SqlAzureSyncTableProvisioning能提取当前环境信息。

  要使用Microsoft Sync Framework,首先要去下载这个工具,Microsoft Sync Framework和SDK的下载地址

  Microsoft Sync Framework 2.0 Software Development Kit (SDK)

  要想使用Microsoft Sync Framework,你必须要在本地环境上安装SQL Server 2008,并且要有SQL Azure的账户才能使用此工具。

  安装完成后,点击开始|Microsoft Sync Framework|SQL Azure Data Sync Tool for SQL Server,如图1所示:

  如图1所示:

图1 Microsoft Sync Framework介绍

  点击下一步,出现SQL Azure database界面,如图2所示: 

图2 SQL Azure数据库

  在图2所示的界面中输入SQL Azure服务器名称、数据库名称、用户名、密码,也可以点击测试,输入完成后点击“下一步,next”如图3所示:

  输入本地SQL Server的服务器名称、数据库名称,点击“下一步”,如图4所示:

图4 数据表信息

  选择了我们需要的数据表后,这里可以选择一个表,也可选择全部表,对于冲突,可以选择冲突解决策略。

  设置完成后,若点击“Process”按钮,所有已选择的数据表将被创建在SQL Azure上,但是这些表里没有数据。直到同步的JOB从本地库更新这些表以后才会有数据。

  设置完成后,若点击“下一步”按钮,则可以设置同步表的顺序。

  同步数据的任务必须在本地数据库环境上设置一个唯一的名称,可以在汇总Summary页面设置同步数据库的大小是1G或者10G。

  SQLAzureMW

  SQLAzureMW是微软公司发布在CodePlex上的一个项目,它可以将SQL 2005及SQL 2008数据库迁移到SQL Azure上。目前的最新版本是3.3,下载地址是:

  http://sqlazuremw.codeplex.com/releases/view/32334

  SQLAzureMW会检测并纠正SQL Server 2005/2008与SQL Azure之间的不兼容性,能修复的一些常见问题有:使用varChar(max)替换text列、将用户自定义类型转换为基类型。将text列转换为varchar(max),将image转换为varbinary(max),同时它还会取消对XML schema的绑定,因为SQL Azure并不支持它。由于SQL Azure缺乏对hierarchyID的支持,因此需要手工完成。除了在SQL Azure上生成脚本以部署迁移的schema之外,用户还可以凭借该工具通过BCP来迁移表数据。

  应用与案例

  在这个案例中,我们将使用SQLAzureMW来迁移微软提供的实例数据库NORTHWND,最终生成能够在SQL Azure上部署的数据库脚本,详细步骤如下:

  第一步:下载SQLAzureMW。下载SQLAzureMW后,解压缩后包含四个文件,期中有2个配置文件,一个配置文件是SQL Azure不支持的文件,一个是SQL Azure数据迁移配置文件,如图5所示

  图5 打开SQLAzureMW

图6 SQL Azure迁移向导功能选项

  第二步:运行SQLAzureMW。双击SQLAzureMW.exe,弹出窗口如图6所示,在图6的窗口中,我们可以看到:

  SQLAzureMW支持数据迁移的类型:

  (1) SQL Server到SQL Azure

  (2) SQL Azure到SQL Server

  (3) SQL Azure到SQL Azure

  SQLAzureMW支持数据迁移的功能有:

  (1) 只是分析数据库

  (2) 分析和迁移数据库

  (3) 不分析只迁移数据库

  (4) 直接运行T-SQL进行分析

  在这里我们选择了分析和迁移数据库|SQL Database,点击“下一步(Next)“,如图7所示:

图7 连接数据库

  第三步:连接数据库。点击“连接服务器Connect to Server“,在弹出的窗口中我们可以输入要连接的数据库名称、用户名、密码,点击”连接Connect“,连接成功后的界面如图8所示:

  第四步:选择数据库。连接成功后,需要选择数据库,这里我们选择了示例数据库NORTHWND,点击下一步,如图9所示: 

  第五步:选择生成的脚步对象。在这里我们选择了数据库所有对象来生成脚本,点击下一步,如图10所示:

图10 导出结果

  第六步:保存脚本文件。在图10中,我们生成了脚本的备份文件,这里调用了BCP命令,由于语言版本的问题,所以在图10中出现了一些乱码。但是我们还是可以看到已经生成完成了。切换到SQL Script这个Tab上来,如图11所示:

图11 生成的SQL脚本

  在图11中,点击“保存 Save“,把生成的脚步保存成文件,这样我们就得到了一个能够在SQL Azure上部署的SQL脚本。我们的迁移工作可以说已经完成了百分之八十,剩下的工作就是拿这个脚本在我们云端的SQL Azure上去执行就可以了。

图9 选择数据库对象脚本

  Gem Query

  Gem Query是由第三方供应商Microguru提供的免费SQL Azure查询工具。此工具安装在.NET Framework 3.5 SP1环境上,支持DDL和DML的SQL查询。它可以直接连接到SQL Azure数据库上进行查询,而不管本地环境是否安装了SQL Server。

  Gem Query的下载地址是:http://www.microguru.com/gem/

  下载安装完成后,点击开始|Gem Query,或者在桌面点击“Gem Query”,打开的界面如图12所示:

图12 创建新查询

  输入服务器名称、用户名、密码、数据库名称后,点击“OK”就创建了一个新连接,连接上SQL Azure以后,就可以使用查询功能了,实例界面如图13所示:

图13 使用Gem Query进行查询

  总结

    由微软或者第三方的一些开发者已经提供了一些SQL Azure工具,在这些工具中最流行的三个是:Microsoft Sync Framework, SQL Azure迁移向导(the SQL Azure Migration Wizard,SQLAzureMW)和Gem Query。使用同步框架可以同步数据库,使用SQLAzureMW可以迁移数据库,使用Gem Query可以查询数据,有了这三大利器,相信大家对SQL Azure的开发更有信心了。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章