将数据库迁移到SQL Azure的三种方式(转)

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

对于很多SQL Azure用户来说,使用SQL Azure的第一步就是将已有的数据库迁移到SQL Azure。下面我将向你介绍帮助您迁移数据库的三种工具。

一、SQL Server迁移助理(SQL Server Migration Assistant)

首先介绍的是SQL Server迁移助理(SQL Server Migration Assistant,SSMA)。它有分别针对Access、MySQL、Oracle、Sybase的几种版本。这里我们以SQL Server Migration Assistant 2008 for Access v4.2 为例。

1、先从File菜单打开迁移向导(Migration Wizard)。
  

2、然后在“创建新工程”(Create New Project)这一步,将迁移到(Migration To)修改为SQL Azure。这是需要注意的关键步骤,因为默认的选项是SQL  Server。

3、然后, 我们把Access数据库加入到向导中,稍候几秒钟之后,这个向导就会列出Access数据库中的所有表和查询等对象,以供选择。
  

4、选择好需要迁移的对象之后,下一步,我们需要提供SQL Azure的服务器和数据库名称及登录信息。一般来说,这时我们可以在自己的SQL Azure服务器上创建一个空白数据库。
 

5、最后,迁移的核心开始执行了。在这一步中,迁移助理先把Access中的对象(包括表、主键、外键、约束等等)转换成SQL Azure中对应的对象,并在SQL Azure数据库中创建这些对象,然后再把表内的所有数据行转换并载入SQL Azure数据库中。对于转换对象的过程,迁移助理生成了详细的报告。我们可以点击Report按钮来浏览。 

 

二、数据层应用程序(Data-tier Application,DAC)

通过数据层应用程序(Data-tier Application,缩写为DAC),我们可以将SQL Server中的数据库的Schema提取出来,并且可以方便地将Schema布署到SQL Azure上。数据层应用程序DAC已经集成在SQL Server Management Studio (2008 R2) 与Visual Studio 2010之中。面前,DAC只能提取和布署Schema,而不能提取、布署表中的数据行。今后,DAC会增加这项功能。

DAC很适宜用于基于数据库的软件的开发过程中,尤其当我们把Visual Studio和Management Studio融合为一体时。

在本文中, 我们以Management Studio中的DAC为例,来介绍数据层应用程序的提取与布署。

1、启动提取数据层应用程序的向导。只需要在Object Explorer中右键点击某一个SQL Server的数据库,在弹出的菜单中选“Tasks”,然后选择“Extract Data-tier Application”。这样,提取数据层应用程序的向导就弹出来了

。 

2、在这个向导中的Set Properties(设置)页面中,我们可以设置应用程序的名称以及DAC Package的路径。

 

3、接着,进入Validation and Summary(校验与总结)页面。如果第一步中所选的数据库中有DAC不支持的特性,这一步会报错。
 

4、进入Build Package页面生成DAC包。下面我们将把刚才生成的DAC包布署到SQL Azure服务器中。 

 

5、在Management Studio的Object Explorer中,右键点击 一个SQL Azure服务器。在弹出的菜单中,选择“Deploy Data-tier Application”(布署数据层应用程序)。 
 

6、在弹出的“Deploy Data-tier Application”向导中,进入“Select Package”页面。在这儿,我们选择刚才生成的DAC包。 

 

7、在随后的“Update Configuration”页面中,我们可以修改这次布署的目标数据库的名字。

8、在Summary页面中,可以看到此次布署的总结。

9、最后,在“Deploy DAC”页面中,向导会将DAC包布署到SQL Azure服务器,并且在服务器上注册这个DAC包的元数据。

三、脚本生成向导(Generate Script Wizard,GSW)

使用脚本生成向导来迁移数据库的原理是:将一个数据库的所有Schema与数据行都用GSW导出成Transact-SQL的脚本,然后在SQL数据库中执行这些脚本。具体地说则有下述步骤。

1、在Management Studio的Object Explorer中,右键点击某一SQL Server的数据库。在弹出的菜单中,选取“Tasks”,再在展开的菜单中选择“Generate Scripts”。

2、这时会弹出“Generate and Publish Scripts”向导,即“生成与发布脚本”向导。在这个向导的Introduction页面中,点击Next。

3、在“Choose Objects”页面中,我们可以选择需要迁移的表(Tables)、存储过程(Stored Procedures)、用户定义的数据类型(User-Defined Data Types)以及Schemas。

4、在“Set Scripting Options”页面中,我们需要点击“Advanced”按钮,以更改高级选项。

5、我们需要更改两处高级选项。其一是将“Script for the database engine type”改选为“SQL Azure Database”。这是因为我们要将这个数据库迁移到SQL Azure上。

6、其二是将“Types of data to script”改选为“Schema and data”,以将数据模式与数据行一起迁移。

7、然后,我们可以逃过“Summary”页面,来到“Save or Publish Scripts”页面。在这儿,GSW将把我们选取的数据库对象转录誊写为一个T-SQL的脚本文件。

8、现在,我们就可以在SQL Azure服务器上新建一个数据库,然后通过Management Studio的脚本窗口,在这个数据库中来执行刚才生成的T-SQL脚本。这样,就完成了这次数据库迁移。

本文转自 liudao 博客园博客,原文链接:http://www.cnblogs.com/liudao/archive/2012/11/12/2766323.html,如需转载请自行联系原作者

相关文章
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
6月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
1036 1
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
362 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
186 6
|
8月前
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
7月前
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
397 1
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。

热门文章

最新文章