当前位置:首页 » 编程语言 » sqlserver迁移工具
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver迁移工具

发布时间: 2022-05-03 04:03:31

1. sql server 2005的数据库能迁移到 SQL SERVER 2008 上

低版本的可以迁移到高版本

2. 如何将 Access 数据库转换到 SQL Server

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自带的数据库迁移向导差了一点

3. 如何把sqlserver的数据迁移到mysql中

以下有几款迁移工具的对比,可以参考,比较推荐DB2DB.

软件易用性主要是指软件在导入前的配置是否容易。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员,而这一类人员很多时候并没有数据源配置经验。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序)。下面让我们看看四个工具的设计界面:

>>>>

1、SQLyog

SQLyog使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。

>>>>

2、NavicatPremium

NavicatPremium是四个应用工具中设计最不人性化的一个:从上图怎么也想象不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。NavicatPremium使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。

>>>>

3、Mss2sql

Mss2sql是最容易在网络上搜索出来的工具,原因之一是它出现的时间较早。


DB2DB同样迁移 300万数据时,仅仅使用了 2 分 44 秒,这个速度相当惊人。不过最后的结果出现一个 BUG,就是提示了转换成功,但后面的进度条却没有走完(在后面的数据完整性评测中,我们验证了数据其实是已经全部处理完毕了)。

4. 如何完整地迁移SQL SERVER

有几种方式,需要你自己判断。
物理对拷方式:
如果是sqlerver对sqlserver 可以考虑用库直接对拷,此方法比较省事。
1.分离,在新书库上附加。
2.备份,在新数据上建立同样名称的库,还原。
3.数据全部导出,此方法可以在导出数据时选择导出目标库。
逻辑对拷方式:
这个方法限于数据的量不大的情况下使用,太多就别指望了,主要是针对局部需要处理的数据进行人为晒选时使用。
1.将数据导出成excel格式,再根据需要处理后导入新库表。
2.利用工具抽取,我记得sqlserver有个工具可以直接对接到数据进行抽取推送,效率还不错。

3.自己写jdbc的链接然后抽取插入进指定的地方,我一般都是用这种,主要是转换和比对的太多,纯粹的从逻辑层面或者从物理层面不是很方便复用。

5. sql server 怎么迁移数据库

1、真心不建议你迁移系统数据库,太麻烦了。就一个系统用户账号就够你累的了。
2、我一般都是在新计算机上安装新的SQL服务实例,然后逐个迁移用户数据库
3、只需要向用户贴出安民告示即可,也就半个小时到1一个小时,基本上全部搞定。

若非要迁移,那么你可以这样做:
首先迁移master数据库,master数据库是整个SQL Server实例的核心,所有的设置都存放在master数据库里,如果master数据库出现问题,整个实例都将瘫痪。首先打开SQL Server Configuration Manager,在左边的列表框中选中SQL Server Services节点,然后在右边的列表框中找到需要迁移系统数据库的实例的那个SQL Server服务,比如说SQLServer(MSSQLSERVER),停止这个实例的服务(不会停的去菜场买块豆腐撞死算了),然后右键单击,选中最底下的“Properties”,并且切换到“Advanced”标签,如下图所示:

看到“Startup Parameters”了吧,这里的参数就是需要我们更改的。如下图所示:

把这段字符整理一下就是这样:
-dC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;
-eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;
-lC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

基本上看出来了吧,“-d”后面的就是master数据库数据文件的位置,“-e”是该SQL Server实例的错误日志所在的位置,至于“-l”就是master数据库日志文件所在的位置了。修改数据文件和日志文件的路径到适当为位置,错误日志的位置一般不需要做变更,例如将数据文件存放到D盘的SQLData文件夹下,日志文件存放到E盘的SQLLog文件夹下,则参数如下:

-dD:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lE:\SQLLog\mastlog.ldf

点击“OK”保存并关闭对话框。

6. 如何将数据库从SQL Server迁移到MySQL

以下有几款迁移工具的对比,可以参考,比较推荐DB2DB.

软件易用性主要是指软件在导入前的配置是否容易。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员,而这一类人员很多时候并没有数据源配置经验。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序)。下面让我们看看四个工具的设计界面:

>>>>

1、SQLyog

SQLyog使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。

>>>>

2、NavicatPremium

NavicatPremium是四个应用工具中设计最不人性化的一个:从上图怎么也想象不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。NavicatPremium使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。

>>>>

3、Mss2sql

Mss2sql是最容易在网络上搜索出来的工具,原因之一是它出现的时间较早。


DB2DB同样迁移 300万数据时,仅仅使用了 2 分 44 秒,这个速度相当惊人。不过最后的结果出现一个 BUG,就是提示了转换成功,但后面的进度条却没有走完(在后面的数据完整性评测中,我们验证了数据其实是已经全部处理完毕了)。

7. 如何从SQL Server迁移大批量数据到Oracle

下面要说的是如果将txt文本数据导入到Oracle中
Dos
环境下使用SQl*Loader命令
加载
使用其它数据库的数据转移工具
Oracle
企业管理器中的数据加载功能
具体的技术实现
一、Dos
环境下加载
1、首先,服务器端的侦听服务必须已经开启。
测试方法:Dos
下输入
C:/>sqlplus
username/password@serviceName
2、然后使用
Oracle

sqlldr
命令进行数据的导入
前期条件
1)
Oracle
数据库端必须已经建好了需要导入的数据表的结构
2)
一个数据源文件
下面例子中为制表符分隔的文本文件
model.txt
,为Excel
表中导出的
3)
手工编辑一个XXX.CTL
的控制文件
4)
命令行加载数据
如下实例:
以下文件缺省放到C:/
下,如果不是,就需要指明全路径
1.
命令控制文件
input.ctl
内容
命令
说明
load
data
1、控制文件标识
infile
'model.txt'
2、要输入的数据文件名为test.txt
append
into
table
system.塔位属性表
3、向表test中追加记录
fields
terminated
by
X'09'
4、指定分隔符,字段终止于X'09',是一个制表符(TAB)
(编号,名称,大小)
5、定义列对应表中顺序
控制文件中指定插入数据的方式关键字
insert,为缺省方式,在数据装载开始时要求表为空
append,在表中追加新记录
replace,删除旧记录,替换成新装载的记录
truncate,同上

Dos
窗口下使用
SQl*Loader
命令实现数据的导入
C:/>sqlldr
userid=system/manager@
serviceName
control=input.ctl
默认日志文件名为:input.log
默认坏记录文件为:input.bad
二、使用其它数据库转移工具
以下以SQL
Server
导入导出向导为例
1、在数据的导入导出向导中设置数据源服务器,实例中选择数据源选择SQL
Server
2、然后指定要导入的Oracle
数据源
3、需要配置Oracle
的属性信息
需要注意的是,登录数据库的用户信息即为数据导入之后的方案名,即导入之后的SQL
Server
中的表在Oracle
中标志名为
username.表名
以下按照提示即可,可以完全导入SQl
Server
中的数据表和视图,也可以使用查询语句返回你要选择的列或者行。
三、Oracle
企业管理器中的数据加载功能
登录Oracle
的控制台界面,针对单独的数据表可以使用数据加载工具
中间需要指定控制文件等,同Dos
加载一致,不再重复
----------------------------------------------------
向Oracle中导入文本数据时使用的控制文件格式
无论是使用上一篇中的哪种方式都需要有一个控制文件,下面是控制文件(ctl文件)书写的基本格式:
命令
说明
load
data
1、控制文件标识
infile
'testl.txt'
2、要输入的数据文件名为test.txt,此时是要导入的数据文件同控制文件在同一路径下,如果不在同一路径下则需要写完整路径名
append
into
table
表名(可以是全名也可以是同义词)
3、向表test中追加记录
fields
terminated
by
X'09'
4、指定分隔符,字段终止于X'09',是一个制表符(TAB),如果用逗号分割就将X'09'替换为','
(编号,名称,大小)
5、定义列对应表中顺序
控制文件中指定插入数据的方式关键字
insert,为缺省方式,在数据装载开始时要求表为空
append,在表中追加新记录
replace,删除旧记录,替换成新装载的记录
truncate,同上
控制文件的示例:
load
data
infile
'test.txt'
append
into
table
test.test
fields
terminated
by
X'09'
(test,test1,test2)
对有时间类型的数据导入的示例控制文件:
load
data
infile
'h:/TB_FACT_PHS_TICKET_DAY.txt'
Append
into
TABLE
TB_FACT_PHS_TICKET_DAY
fields
terminated
by
X'09'
(Time_Id
,Region_Id
,Cust_Type_Id
,Prod_Type_Id
,Acct_Item_Type_Id
,Acct_Item_Type_Cd
,Exchange97_Cd
,Latn_Cd
,Call_Duration
,Access_In_Duration
,Income
,In_Date
Date
"YYYY-MM-DD"
)
文件导入命令
C:/>sqlldr
userid=test/test@test
control=test.ctl(此时控制文件test.ctl存在C:/路径下)
在命令控制符下进入Oracle
C:/>sqlplus
username/password@serviceName
oracle导入txt数据文件2008年07月30日
星期三
17:21把txt文件格式的数据文件导入oracle的方法是利用sqlloader工具。
第一步:把文本格式的数据文件放入C盘。如,test.txt
第二步:建立控制文件append.ctl。(名字可以随便取,放C盘下)
append.ctl的内容如下:
load
data
--1、控制文件标识
infile
'test.txt'
--2、要输入的数据文件名为test.txt
append
into
table
CTXSYS.test--3、向CTXSYS表空间中的表test中追加记录
fields
terminated
by
X'09'
--4、字段终止于X'09',是一个制表符
(id,username,password,sj)
-----定义列对应顺序
其中append为数据装载方式,还有其他选项:
a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上
第三步:在命令提示符下输入命令。
C:/>sqlldr
userid=username/password
control=c:/append.ctl
数据库中用名的用户名和密码
或者
C:/>sqlldr
userid=system/manager@
serviceName
control=input.ctl
第二条命令中的system数据库用户名
manager密码
@serviceName
是Oracle中本地配置文件的服务名
----------------------------------------------------
一些经常出现的问题:
1。关于日期格式的问题:
ctl基本写法诸如:
load
data
infile
'C:/TP_LOANCONTRACTSUM.txt'
insert
into
table
TP_LOANCONTRACTSUM
fields
terminated
by
'|!'
(
column01,
column02,
column03,
column04
"to_date(:column04,'''yyyy-mm-dd
hh24:mi:ss''')",
column05
"to_date(:column05,'''yyyy-mm-dd
hh24:mi:ss''')",
column06,
column07,
column08,
column09,
column10,
column11,
column12
"to_date(:column12,'''yyyy-mm-dd
hh24:mi:ss''')",
column13
)
2。关于长字符串问题,CTL默认情况下是256位(或者256位左右),所以长字符串时会在log里报错,提示所输入的值超过最大长度,解决办法,在ctl文件里再指定大小,注意个情况,不能写VARCHAR只能写CHAR,否则报错,诸如:
load
data
infile
'C:/TP_PLEDGECONTRACTINFO.txt'
insert
into
table
TP_PLEDGECONTRACTINFO
fields
terminated
by
'|!'
(
column01,
column02,
column03,
column04,
column05,
column06,
column07
"to_date(:column07,'''yyyy-mm-dd
hh24:mi:ss''')",
column08,
column09,
column10
"to_date(:column10,'''yyyy-mm-dd
hh24:mi:ss''')",
column11,
column12,
column13,
column14,
column15
"to_date(:column15,'''yyyy-mm-dd
hh24:mi:ss''')",
column16,
column17,
column18
"to_date(:column18,'''yyyy-mm-dd
hh24:mi:ss''')",
column19,
column20,
column21,
column22,
column23,
column24,
column25
"to_date(:column25,'''yyyy-mm-dd
hh24:mi:ss''')",
column26
CHAR(500),
column27,
column28
)

8. mysql to sql server 2008迁移工具怎么用

以下有几款迁移工具的对比,可以参考,比较推荐DB2DB.

软件易用性主要是指软件在导入前的配置是否容易。由于很多软件设计是面向程序员而非一般的数据库管理人员、甚至是普通的应用程序实施人员,而这一类人员很多时候并没有数据源配置经验。因为一些使用 ODBC 或者 ADO 进行配置的程序往往会让这类用户造成困扰(主要是不知道应该选择什么类型的数据库驱动程序)。下面让我们看看四个工具的设计界面:

>>>>

1、SQLyog

SQLyog使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。

>>>>

2、NavicatPremium

NavicatPremium是四个应用工具中设计最不人性化的一个:从上图怎么也想象不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。NavicatPremium使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。

>>>>

3、Mss2sql

Mss2sql是最容易在网络上搜索出来的工具,原因之一是它出现的时间较早。


DB2DB同样迁移 300万数据时,仅仅使用了 2 分 44 秒,这个速度相当惊人。不过最后的结果出现一个 BUG,就是提示了转换成功,但后面的进度条却没有走完(在后面的数据完整性评测中,我们验证了数据其实是已经全部处理完毕了)。

9. 如何把sql server数据库迁移到oracle

前阵做了下数据库迁移,从Sql Server2005迁移到Oracle
10g,这里说一下迁移的方法。
Sql
Server和Oracle区别比较大,包括语法,字段类型,数据库机制,配置管理方法等等,区别是全方位的,做迁移需要注意很多问题,在迁移过程中也会遇到问题,需要细细处理之。这里说一下数据库结构的迁移,和迁移过程中注意的一些问题。(当然具体的数据库迁移过程中可能问题是不一样的,具体问题具体分析了)
迁移的方法是从Sql Server已有数据库中生成出Oracle的建库脚本,然后在Oracle数据库上执行。用到的生成工具是Power
Designer。
1、打开PD(Power
Designer简称,以下均使用PD),新建一个PDM(物理数据模型),DBMS选择Microsoft SQL
Server2005,Model name起名叫做mssdb。
2、通过逆向工程将现有Sql
Server数据库生成PDM
(1)选择Database->Reverse
Engineer Database,配置数据源,选择要迁移的数据库,输入用户名、密码。
(2)选择数据库,选择用户dbo下的所有表、视图、存储过程、方法、触发器、序列等(由于Sql Server与oracle,数据库概念上的区别,这里不需选择用户、角色)。
点击OK,生成PDM。已经建立过PDM的情况,这一步可以省略。
3、生成Oracle物理数据模型
选择Tools->Generate Physical Data Model
(1)DBMS选择Oracle
10g,输入名称:oradb。
(2)在Configure Model
Options配置中, Model Settings的Table&View界面中,勾选Ignore
identifying owner。Oracle中用户的概念与Sql Server不同,这里忽略owner。
(3)Selection标签,选择需要生成的所有表、视图、外键、存储过程、方法、触发器、序列等。
点击确定,即生成了oracle 的PDM。
注意,在生成PDM的过程中可能不会一帆风顺,有可能会报错(比如提示对象长度超限),这会导致生成失败。这时需要根据具体错误提示做相应修改(可能需要多次调整,没有办法,谁让两者差别这么大的呢)。
4、生成Oracle脚本
与Sql
Server不同的是,在Oracle里表名、字段名全部为大写,若要单独处理为小写,需加上双引号。而PD生成的脚本默认是有双引号的,这里需要修改默认配置,去掉双引号。
然后选择oradb,然后选择Database->Generate
Database,进入数据库生成界面
在Format标签下,去掉勾选Owner prefix,它将省掉建表语句前“dbo.”所带来的麻烦;
在Selection标签下,选择要生成脚本的各对象;
在Preview标签下,可以预览预生成的脚本(表较多时,切换会比较慢)。
点击确定,即得到生成的脚本。
5、检查与调整
脚本是PD自动生成的,因为表比较多,在oracle上直接去执行难免会有错误。所以在执行之前需要检查下脚本的正确性。这里提几点需要注意的地方。
(1)Oracle要求表名、字段名等长度最多是30位,而Sql Server没有这个限制,所以可能会有在Sql
Server创建正常的表而在Oracle下会创建失败。
(2)检查一下主键、外键的名称,它们有可能是随机生成的名称。可根据相应规范进行修改。
(3)检查字段名是否用到了Oracle的关键字。比如Sql
Server命名“备注”字段可能会用“comment”、标题用“title”,但comment、title在Oracle中是关键字,不可以做为字段名称。
(4)存储过程、方法是否符合Oracle语法。
(5)Sql
Server有自增字段,而Oracle没有。要实现此功能,需要相应创建序列、触发器。
(6)Sql
Server中字段类型为text的情况,如果是存二进制数据需要在Oracle中选用Blob字段类型。
(7)Sql
Server有外键的情况,主表记录删除,从表记录也会跟着删除;而Oracle默认情况是当从表有记录时,所对应的主表记录不允许删除。所以这种情况下外键需要添加外键级联删除。
(8)生成的表、视图等个数是否正确,缺失的情况可单独生成脚本。
系统不一样,出现问题的点可能也不一样,具体问题具体分析。
6、建库
在Oracle数据库服务(当然要先安装好Oracle服务端、并建立数据库)orcl实例下,使用用户sys登陆并创建用户orauser,并将resource、connect角色赋给orauser(这里,orauser使用默认表空间、默认临时表空间)。
用刚创建的用户orauser登陆orcl数据库服务,执行前面已经生成的脚本,若干分钟后脚本执行完毕,观察一下执行过程中有无错误产生,也可以记录执行的日志以便日后查看;检查看表、视图等个数与Sql
Server数据库中是否一致。如果都正确,那么,数据库结构从Sql
Server到Oracle的迁移到此结束。当然,迁移的是否正确还需要在之后的使用中检查,发现错误及时修改即可。

10. 数据迁移的数据迁移的工具选择

数据迁移工具的开发、部署主要有2种选择,即自主开发程序或购买成熟的产品。这2种选择都有各自不同的特点,选择时还要根据具体情况进行分析。纵观目前国内一些大型项目,在数据迁移时多是采用相对成熟的ETL产品。可以看到这些项目有一些共同特点,主要包括:迁移时有大量的历史数据、允许的宕机时间很短、面对大量的客户或用户、存在第三方系统接入、一旦失败所产生的影响面将很广。同时也应该看到,自主开发程序也被广泛地采用。
目前,许多数据库厂商都提供数据抽取工具,如Informix的InfoMover、Microsoft SQLServer的DTS和0raele的Oracle Warehouse Builder等。这些工具在一定范围内解决了数据的提取和转换。但这些工具基本都不能自动完成数据的抽取,用户还需利用这些工具编写适当的转换程序。
例如Oracle的Oracle Warehouse Builder(OWB)数据抽取工具提供的功能包括:模型构造和设计,数据提取、移动和装载,元数据管理等。但OWB提供的流程繁琐,维护很困难,不易于使用。
在第三方产品中,Ascential Software公司的DataStage是一套相对比较完善的产品。DataStage可以从多个不同的业务系统、从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面,其中每步都可以在图形化工具里完成;同样可以灵活地被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。其中简单的数据转换可以通过在界面上拖拉操作和调用一些DataStage预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且DataStage提供调试环境,可以极大地提高开发和调试抽取、转换程序的效率。