设为首页 收藏本站
查看: 2056|回复: 0

[经验分享] 通过SSMS工具迁移本地的SQL Server Database到Windows Azure SQL Database

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-21 17:40:47 | 显示全部楼层 |阅读模式
通过SSMS工具迁移本地的SQL Server Database到Windows Azure SQL Database
微软的产品更新越来越快了,几乎每年都有产品更新,今天呢,我们主要介绍一下,如何将本地的SQL Server数据库迁移到windows azure上的SQL Server Database。当然说到SQL Serrver数据库的迁移,大家都会想到最普通及最普遍的方法,那就是通过备份数据库,然后通过备份的数据库文件进行还原。其实呢,我们在IT运维的工作中多少会有体会,最普通的方法往往是最有效的方法也是最安全的方法,但是效率不高,由于时代进步的太快了,我们也不能太out了,也不想用这个古老的方法去做数据迁移,毕竟SQL Server及windows azure都是微软的产品,微软肯定也有其他管理工具进行迁移或者管理。我们日常都会用到,数据库的管理工具,我们首选会用到SQL Server Manager Studio(SSMS)进行管理操作。那SSMS到底支不支持从本地的SQL Server数据库迁移数据到Windows azure SQL Server Database呢。答案是肯定支持的,那怎么操作呢,那就是我们今天介绍的主要内容,我们会主要着重介绍两种方法,第一是通过SSMS直接迁移到windows azure sql database下,还有一种就是通过SSMS导出需要迁移的数据库架构信息,然后在windows azure sql database下导入架构信息。
关于本地SQL Server迁移到Azure Database,首先我们需要明确二者之间的差异(比如支持的SQL语法及一些约束条件等),然后根据这些差异制定基于当前数据库的迁移计划。关于Azure SQL Database与传统SQL Server数据库几点重要的差异:
1. 聚集索引要求:Azure SQL Database 不支持没有聚集索引的表,表必须具有聚集索引(这点非常重要,更多约束参考:Azure SQL Database 一般性的指导原则和限制)。
2. Azure SQL Database Transact-SQL 参考
3. 不支持的 Transact-SQL 语句
关于具体的迁移实现过程,我们可以参考微软官方提供的迁移方案:
1. 将 SQL Server 数据库迁移到 Azure SQL Database
2. 使用 SQL Server Data Tools 将数据库迁移到 Azure SQL Database
使用SQL Server数据库导入Azure
前提条件:
a. 需要在本地安装SQL Server 2012 SP1 CU2 或者更新的版本. 如果您安装了 SQL Server 2012 SP1,可以从下面的连接下载并更新SQL Server.
SQL Server2012 SP1 CU2
http://support.microsoft.com/kb/2790947/en-us
SQL Server2012 SP1 CU4
http://support.microsoft.com/kb/2833645/en-us
b. 本地数据库的数据对象需要满足支持DAC的要求,具体可以查看 对 SQL Server 对象和版本的 DAC 支持 (http://technet.microsoft.com/zh-cn/library/ee210549.aspx)
另外我们还可以通过第三方的工具来迁移。
使用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来迁移表数据。
废话不多说了,今天我们主要介绍通过SSMS如果做数据的迁移。具体操作见下:
前提是我们已经在windows azure上创建好了数据库,然后用2008的Sql Server Manager Studio对数据库进行连接管理,我们通过SSMS连接了本地的SQL SERVER及windows azure上的SQL Server Database。我们连接后发现,2008 sql server manager studio工具的任务下,没有部署数据到windows azure database的选项,经过咨询世纪互联后,告知,SSMS的版本必须是2012以上版本,而我们现在使用的是2008版本的SSMS,所以无法通过以下方法进行导出及导入:
wKioL1Ruyy3BHnDsAAFCtljopeI460.jpg
为了解决问题,我们就在微软的MSDN网站上下载最新的数据库,目前微软最新的数据库版本为SQL Server 2014,所以我们就下载了SQL Seraver 2014 Manager Studio管理工具的安装包。
Sql server 2014 manager studio管理数据库
wKioL1Ruyy2zjZaWAADK1opoF90010.jpg
开始安装SQL Server Manager Studio2014
wKiom1RuyrShGdsnAADjDGHI9Cs631.jpg
安装完成后,我们运行SQL Server Manager Studio2014工具
wKiom1RuyrSji8HAAACyuDKBsFY062.jpg
还是连接本地的SQL server数据库和Windows azure Sql server database数据库后,然后我们在本地数据库下,右击要迁移的数据库---Deploy Database to windows azure sql database
我们发现一共有两个选项,还有一个是Deploy Database to windows azure vm,这个选项是windows azure 上的vm上运行的sql 数据库迁移
wKiom1RuyrTC326zAAGOXF_gk3k607.jpg
我们迁移本地数据到windows azure sql database后,我们默认下一步
wKiom1RuyrTB6DagAAFtmZ3xIzE164.jpg
解析来我们需要连接目标服务,也就是说迁移的目的地,我们要迁移到windows azure上,所以我们需要连接windows azure sql server database
wKiom1RuyrSQpVP9AAGVrPLIiF0641.jpg
可根据自己的选项进行连接及配置
wKiom1RuyrSB2Xg3AAFu2X9HBaQ895.jpg
开始导出sql server 的架构信息
wKiom1RuyrTRi0AnAAE-NvJwB0Y397.jpg
开始在windows azure上创建对应的数据库架构及数据包。
wKiom1RuyrXxIkPFAAFyORhnhOc867.jpg
操作完成
wKioL1Ruyy_RWm6KAAHAXFumS1A260.jpg
我们通过SSMS可以看见windows azure sql server database下多了一个本地的数据库,通过查询语句查看,数据完整性好。
wKioL1RuyzDR4EZ-AAFqilszSM8012.jpg
方法2:
我们在迁移数据库的时候还有一张方法,那就是Export data-tier application进行还原。该功能类似于数据库的备份机还原。
wKiom1Ruyrbh1VLSAAGozRN6A64609.jpg
我们默认下一步
wKiom1RuyrbTm9KJAAFRuvEhTek237.jpg
保存模板文件,模板文件的类型为.bacpac
wKiom1RuyraR3-ZjAAGCZH3PiLk683.jpg
保存信息提示
wKiom1RuyrnA6PF2AAEKEsfDLP4361.jpg
操作完成。导出数据库及架构等信息。
wKioL1RuyzOC0Z5PAAF3h_Oodqk601.jpg
导出的架构文件及数据文件
wKioL1RuyzTCATZrAAC4Pfr-uDk520.jpg
接下来我们还是通过SSMS链接windows azure SQL Server database进行还原。我们右击windows azure sql server database后,右击import data-their application
wKioL1RuyzTjA2zvAAD7JSjLdEw584.jpg
提示信息。
wKiom1RuyrqzpcKgAAFfLDQaAGk079.jpg
我们选择刚才备份的数据库架构文件
wKiom1RuyrrBXZAbAAFw6mxgbpA551.jpg
确认数据库的配置信息后,下一步
wKiom1RuyrqhAFO2AAFp3XbwJeY261.jpg
确认信息
wKiom1RuyrqDfQtvAAEXbOfcfjQ330.jpg
操作完成。
wKioL1RuyzThRUbMAAGbwj4iT9w507.jpg
我们还是通过SSMS查看windows azure下的SQL Server database数据库信息
wKioL1RuyzWxjXDIAAEjc5Qha_E886.jpg
我们还是通过sql 查询语句对刚才迁移的数据库进行查询机判断。
wKiom1RuyruwpdgjAAF3GU14qaI808.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-32611-1-1.html 上篇帖子: Windows Azure服务管理请求验证 下篇帖子: SSMA迁移本地的MY SQL到本地SQL server及windows azure SQL Databaase Windows
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表