扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:蒋建华 来源: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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者