如何将本地数据库迁移至SQL Azure

Windows Azure的SQL Azure和SQL Server 拥有不同的体系结构,可以说是两个不同的产品。SQL
Azure不完全支持或者尚不支持SQL
Server的某些功能,这使得我们不能像平常一样使用bak文件还原的方式迁移数据库,也不能使用数据导入导出向导。很多SQL Server的特性在SQL
Azure中不被支持。

那我们怎样才能将现有数据库迁移到SQL Azure上呢?

一、“将数据库部署到SQL Azure”向导

  我最先想到的是这个向导,对数据库右键=>任务=>选择“
将数据库部署到SQL Azure”。按照部署向导一步一步执行到最后会得到这样一个长长的错误列表:

如图中错误信息所示,SQL Azure不支持SQL
Server的扩展属性[MS_Description](字段说明)。修改现有数据库把所有字段说明全删除显然不可行,即使可以,也会有新的兼容性问题在等着你。使用数据导入导出向导同样不能完美解决问题。

二、使用DAC迁移数据库架构


于是我尝试用DAC包来只迁移架构,DAC是数据层应用程序,使用SQL Server Management
Studio(SSMS)的“提取数据层应用程序”向导可以将数据库的架构信息打包至一个.dacpac文件里,如图所示:

然后打开SSMS,使用SQL Azure的“部署数据层应用程序”向导,选择刚才的.dacpac文件,即可将数据库架构迁移到SQL Azure。

但是DAC包只包含数据库的架构定义信息,不包含数据,所以只能进行架构的迁移。如果数据库有海量数据,该怎么迁移呢?

三、使用SQLAzureMW完美实施数据库迁移


SQLAzureMW是第三方数据库迁移工具,能很好的解决SQL Server至SQL Azure的迁移问题。

它会解决SQL Server和SQL Azure的兼容性冲突,生成SQL Azure兼容的脚本,然后远程执行脚本实施数据库迁移。

该工具下载地址:http://sqlazuremw.codeplex.com/

我以数据库School为例,它包含100万条数据以及复杂的外键关系,约束。另外还包含存储过程1个,视图1个。

具体步骤如下:

  1. 选择分析并迁移/数据库

  2.选择源数据库,以本地数据库school为例

  3.选择要生成的数据库对象

  4.打开高级选项,确保“生成表/数据”一项选择的是“表结构和数据”

   

  5.检查将要生成脚本的数据库对象

   

  6.脚本生成成功

   

  7.链接目标数据库,我这里以SQL Azure上的SchoolAzure为例

   

  8.点击下一步,执行脚本

   

  9.打开SSMS查看结果,可以看到表、数据、主外键关系、约束、视图、存储过程都在。迁移成功!

   

后记:数据库一旦迁移到Azure上,以后的备份和还原工作就简单得多了,直接在Windows
Azure管理门户上导出.bacpac包,即可进行备份或迁移至本地。

如何将本地数据库迁移至SQL Azure,布布扣,bubuko.com

时间: 2024-10-24 14:29:58

如何将本地数据库迁移至SQL Azure的相关文章

使用SSMS 2014将本地数据库迁移到Azure SQL Database

使用SQL Server Management Studio 2014将本地数据库迁移到Azure SQL Database的过程比较简单,在SSMS2014中,有一个任务选项为“将数据库部署到Windows Azure SQL Database”: 使用本选项可实现一键迁移到Azure SQL Database. 但是, 最近由于近期Azure的改动,导致Azure支持的数据库类型与SSMS2014中数据库的类型不匹配,整个迁移过程会死在在Azue中创建数据库的步骤上.在国际版Azure, 已

MS SQL Server迁移至SQL Azure

SQL Server的数据目前是存在于公司服务器的,现时需要将它迁移至SQL Azure 迁移分两种 数据库结构复制 数据库结构复制与数据迁移至SQL Azure 第1种方法针对的是将现有数据库创建新库至新服务器,做法是在原服务器生成结构脚本,在新服务器执行即可 第2种方法针对的是将现有数据库完整迁移至SQL Azure,做法是使用SQL Azure 迁移向导工具,将数据库结构与数据同时迁移至Azure中 一:数据库结构复制 使用SSMS生成Azure SQL Server运行的DB脚本 第一步

iOS App初始化或者升级,涉及本地数据库迁移的问题

总体思路 一般app启动之后,都有一个初始化的过程.此外后续app升级,还需要考虑数据迁移.所以初始化和数据迁移的框架,在初期的版本就要考虑好 总结一下我们的app采取的方案: 1.在持久化的文件夹内(比如UserDefaults或者Documents目录),用一个字段保存老版本号 2.在开始初始化之前,读取老版本号,以及当前版本号 3.如果该应用是第一次加载,那么老版本号就取不到(因为是初次加载,这个字段还没有保存),那么就可以执行初始化过程:如果取到了老版本号,就不执行初始化 4.初始化完成

HTML5教程之html 5 本地数据库(Web Sql Database)

HTML5的Web SQL Databases(html5 本地数据库)的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的.今天,我们一起来了解HTML 5的Web SQL Database API:openDatabase.transaction.executeSql. Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Opera等主流

html 5 本地数据库(Web Sql Database)核心方法

Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome.Firefox.Opera等主流浏览器都已经支持Web SQL Database.HTML5的Web SQL Databases的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的.今天,我们一起来了解HTML 5的Web SQL Database API. 下面将一一将介绍怎样创建打开数据库,创建表,添加

使用Microsoft SQL Server Migration Assistant for Oracle将Oracle数据库迁移到SQL Server 2008 R2

必须要安装SSMAforOracleExtensionPack_7.10.0或者SSMA for Oracle.6.0.0.ExtPack! 必须要安装SSMAforOracleExtensionPack_7.10.0或者SSMA for Oracle.6.0.0.ExtPack! 必须要安装SSMAforOracleExtensionPack_7.10.0或者SSMA for Oracle.6.0.0.ExtPack! 这个Microsoft SQL Server Migration Assi

数据库迁移(SQL SERVER导入数据到MySql)

地址:http://blog.csdn.net/jiaohougenyang/article/details/44937801 背景:项目最开始时使用的是SQL Server数据库,业务需求现要将数据库调整为MySQL.网上搜集了一些教程,整理了一个相对简单方便的分享给大家. 1.先去mysql官网下载一个odbc的驱动,因为MSsql一直没有集成mysql的驱动,这个玩意需要单独下载并安装.点我下载  我下载的是windows解压缩的包Windows (x86, 64-bit), ZIP Ar

Windows Azure Platform体验(2):SQL Azure

Windows Azure Platform有Windows Azure.SQL Azure.Azure AppFabric三部分. SQL Azure是云关系数据库.您的数据:随时随地管理.SQL Azure是云中的完全关系数据库. 这节我们体验SQL Azure,必备软件: Microsoft SQL Server 2008 R2 Windows Azure Platform账户 这次体验有下面几个步骤,分别是: 初始化SQL Azure 连接到SQL Azure 配置SQL Azure数据

微软ASP.NET站点部署指南(10):迁移至SQL Server

1.  综述 第2章的部署SQL Server Compact和第9章的部署数据库更新里解释了为什么最终要升级到完整版SQL Server .本章节将告诉你如何来做. SQL Server Express和完整版SQL Server 一旦你决定使用完整版SQL Server,你需要在开发和测试环境使用SQL Server Express 或者完整版SQL Server.在工具支持和数据库引擎功能上,SQL Server Compact 和其它版本的SQL Server都是有区别的,可以导致不同的