将ACCESS数据库迁移到SQLSERVER数据库

将ACCESS数据库迁移到SQLSERVER数据库

ACCESS2000文件

用ACCESS2007打开,并迁移到SQLSERVER2005里 

打开ACCESS2007的数据库工具

方法一:使用ACCESS2007自带的数据库迁移工具

1、打开ACCESS2007的数据库迁移向导

2、点击SQLSERVER按钮,弹出升迁向导对话框

3、选择新建数据库

4、输入计算机名,我的本地计算机名字叫joe,因为SQLSERVER安装在本地,所以选择使用可信连接就可以了

数据库名称默认就可以了

5、选择所有表,移动到右边框

 

6、把表索引也一起升迁到SQLSERVER里

7、由于没有应用程序,这一步可以直接跳过

8、点击完成按钮开始迁移数据库到SQLSERVER

9、开始迁移


10、刷新一下SQLSERVER2005里的对象资源管理器里的数据库

迁移到SQLSERVER之后,SQLSERVER会自动在ACCESS数据库的名称后加SQL这三个字母

11、打开LygSQL中的某个数据表,看是否迁移成功

12、表约束也完整迁移成功


方法二:使用SQLSERVER2005自带的数据导入导出向导

限制:SQLSERVER2005自带的数据导入导出向导工具只支持ACCESS2003或以下文件

1、在SQLSERVER里新建一个与ACCESS数据库同名的数据库Lygl

2、选中Lygl数据库,然后按右键—》任务-》导入数据

3、打开SQLSERVER导入导出向导

 

4、下一步

提示:如果ACCESS数据库有密码的话,点击下一步会出错,所以在点击下一步之前请先去除ACCESS数据库的密码!

5、点击下一步

6、再点击下一步

7、再点击下一步

勾选第一个方框就可以了,SQLSERVER会自动帮你勾选ACCESS数据库中的所有表格

8、点击下一步

9、最后点击完成按钮

10、刷新一下SQLSERVER对象资源管理器里的数据库

11、打开表

数据都导入进来了

但是表约束没有导入进来,这个比ACCESS自带的数据库迁移向导差了一点

 


方法三:使用SSMA for ACCESS 5.2

使用SSMA for ACCESS 5.2迁移到SQLSERVER2012

注意:如果要将ACCESS2010的数据库迁移到SQLSERVER,必须在电脑上安装ACCESS2010
就是说:迁移哪个版本的ACCESS数据库就需要在电脑上安装相应版本的ACCESS数据库

1、安装

实际上SSMA支持多种数据库类型,大家在下面的链接下载就可以了

https://files.cnblogs.com/lyhabc/SSMAforMySQL5.2.zip
https://files.cnblogs.com/lyhabc/SSMAforAccess5.2.zip
https://files.cnblogs.com/lyhabc/SSMAforOracle5.2.zip
https://files.cnblogs.com/lyhabc/SSMAforSybase5.2.zip
https://files.cnblogs.com/lyhabc/access-ssma.rar

access-ssma.license是证书文件,在双击SSMA for Access 5.2.exe进行安装

一路next就可以了,中间如果有什么回滚操作,你点击yes就可以了,就算回滚了,也不影响安装的

双击打开

如果没有申请证书,需要点击license registration page ,打开网页输入一些邮箱之类的信息就可以了,这个是完全免费的

如果已经下载了证书了,则直接选择刚才的access-ssma.license文件,这个文件是证书文件所在的文件夹就可以了

 

一开始使用的时候,软件会自动弹出向导,并且新建一个project,如果你不需要,点击“close”按钮就可以了

2、设置

其实这些设置选择默认值就可以了

Global Settings

 

 

Default Project Settings

其实上面的设置我都是用的默认的,并没有更改

3、界面

 

3、创建项目project并开始迁移数据

 

数据库选择SQLSERVER2012,这个工具还支持迁移到SQL AZURE

点击OK

在ACCESS窗口会出现ACCESS-METADATA树节点

在新建文件夹下面也会产生一些文件

4、添加数据库

打开之后会看到下面的样子

 

迁移前,可以像文章说的那样SQL Server Migration Assistant简介(一),创建一个迁移评估报告

评估报告是一个html文件,他会评估出迁移大概需要多少时间,如果有不能迁移的数据,他会发出错误

在软件的下方的输出窗口里也会有评估转换的输出信息

5、连接到SQLSERVER2012

最好不要预先在SQLSERVER2012里面创建好要迁移的数据库,让SSMA FOR ACCESS去创建就好了

在Database那一栏,输入你想在SQLSERVER中创建的数据库,当你点击connect的时候,软件会自动帮你创建好数据库的

点击“Yes”

 在SQLSERVER窗口就会看到新建的数据库Course

同时在SSMS里也能看到新的数据库Course

6、架构转换

在ACCESS窗口,选中Course数据库,在转换过程,会在表里添加一个SSMA_TimeStamp列,主键也会重新命名

7、与ACCESS进行同步

在SQLSERVER窗口,选中Course数据库,右键-》同步

这个时候,在SSMS里面就能够看到表,主键,索引已经生成好了,就差导数据了

软件会在表中生成SSMA_TimeStamp列,也会修改主键的名字为Course_baseinfo$PrimaryKey

索引的扩展属性

7、导数据

在ACCESS窗口,选中Course数据库,右键-》Migrate Data

我们在SSMS里查看,数据都导过来了

8、如果你嫌转换、同步、导数据麻烦的话,界面中还有一个按钮,点击一下,就能够把上面的1、转换 2、同步 3、导数据 一起完成

 


迁移的过程就是这样了

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o

posted @ 2013-10-07 23:00  桦仔  阅读(9307)  评论(0编辑  收藏  举报