分享
 
 
 

SQL Server导出导入数据方法

王朝mssql·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

一、导出导入SQL Server里某个数据库

1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务->备份数据库。

2.备份 选数据库-完全,

目的 备份到 按添加按钮

文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)

重写 选重写现有媒体

最后按确定按钮。

如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。

3.通过FTP或者remote desktop或者pcanywhere等方法

把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。

4.目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库;

然后选中这个新创建的数据库,按鼠标右键,选所有任务->还原数据库

还原->从设备->选择设备->磁盘->添加(找到要导入的备份数据库文件名)->确定

还原备份集->数据库-完全

最后按确定按钮。完全的数据库导入成功了。

(如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复操做失败,

可以去看 ->管理->当前活动->锁/对象->找到数据库下锁的进程号->到查询分析器里用kill 进程号杀掉这些锁,

然后再做还原)

注意:如果在原有的目的SQL Server数据库上从备份文件(*.bak)还原数据库

会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。

如果一定要还原备份文件(*.bak)里部分数据,需要另外建一个新数据库,

其逻辑名称和数量同备份文件(*.bak)里数据库的逻辑名称和数量一致;

新数据库的物理文件名称取得一定要和备份文件(*.bak)里数据库的物理文件不一样才行。

二、导出导入SQL Server里某个表

1.没有防火墙,同一个局域网里或不在同一个局域网里,但通过Internet可以互相访问

在SQL Server企业管理器里选中目的数据库 ,按鼠标右键,选所有任务->导入数据->

弹出数据转换服务导入/导出向导窗口->下一步->

选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->

服务器(可选择局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->

选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->

数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->

选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->

服务器(默认为上一步里选中的导出服务器,也可以选其它局域网内能访问到的所有SQL Server服务器,或者直接输入IP地址)->

目的数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->

制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->

选择源表和视图->在要导入的表和视图前面选中源->目的出现同样的表名(可以手工修改成别的表名)->

转换->列映射和转换里面可以修改源表和目的表之间字段的对应关系,修改目的表字段的类型和长度等,

并可以选择创建目的表,在目的表中增加行,除去并重新创建目的表,启用标志插入等选项->确定->下一步->

保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出导入数据,选调度DTS包以便以后执行)->

保存(可以不选)->[ 保存DTS包(如果以后还要转移这批相同的数据,可以把本次导出导入的内容和步骤保存起来,

存到SQL Server即可,保存的时候要输入DTS的包名及详细描述)->下一步-> ]->完成

正在执行包->图形界面显示创建表及插入记录的步骤和状态->完成

2.经过防火墙,不在同一个局域网里

①、导出表里的数据到文本文件:

在SQL Server企业管理器里选中目的数据库,按鼠标右键,选所有任务->

导入数据->弹出数据转换服务导入/导出向导窗口->下一步->

选数据源-> 数据源(用于SQL Server的Microfost OLE DB提供程序)->

服务器(可选择局域网内能访问到的所有SQL Server服务器)->

选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->

数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->

选择目的->目的(文本文件)-> 文件名(在自己的电脑硬盘中生成一个自定义的文本文件) ->下一步->

制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->

选择目的文件格式->源(选择要导出的表)->用默认的带分隔符->选第一行包含有列名称选项->下一步->

保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出到文本文件,选调度DTS包以便以后执行)->

保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成

正在执行包->图形界面显示表到文本文件的步骤和状态->完成

如果生成的文本文件大于1M,要用压缩工具压缩后再到Internet上传输。

②、通过FTP或者remote desktop或者pcanywhere等方法把

第①步生成的文本文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。

③、把文本文件导入目的SQL Server数据库

直接把文本文件导入目的SQL Server数据库里跟文本文件同名的新表名时,默认的会把所有字段类型都变成字符串。

所以我们要这样做:

在源SQL Server数据库上先生成创建表的sql语句

在SQL Server查询分析器里->选中源数据库里表名->按右键->在新窗口中编写对象脚本->创建->

复制下新窗口内创建表名的sql语句

到目标SQL Server数据库上查询分析器里执行创建表名的sql语句,生成空表结构。

(如果已经存在这样的表名,修改建表的sql语句,在表名后面加上导入时间的年月信息,例如table_0113)

调用导入/导出工具->弹出数据转换服务导入/导出向导窗口->下一步->

选数据源-> 数据源(文本文件)->

文件名(已传到目的SQL Server数据库下要导入的文本文件,后缀可以不是*.txt,

但是常规文本编辑器能打开的文件,文件类型选全部)->下一步->

选择文件格式->用默认的带分隔符->选第一行包含有列名称选项->下一步->

制定列分割符->逗号->下一步->

选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->

服务器(可选择目标局域网内能访问到的所有SQL Server服务器)->

选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->

数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->

选择源表和视图->修改目的表名为刚才创建的表名->转换(在目的表中追加行) ->下一步->

保存、调度和复制包->

时间->立即运行(如果要实现隔一段时间自动把文本文件导入,选调度DTS包以便以后执行)->

保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成

正在执行包->图形界面显示文本文件到表的步骤和状态->完成

如果要更改导入时间的年月信息的表名,例如table_0113到原来的表名,

在企业管理器里把原来的表名改成table_old_0113,table_0113改名成table。

这会对应用程序里频繁访问的表照成一定的中断。

注意:源表上的建的索引和主键约束不能用上面介绍的1和2方法转移过来,还需要手工来建索引和主键。

标志种子和not null的约束可以继承过来。

导入视图时会把源视图里所有的真实数据导入成一个新表,而不是视图。

三、SQL Server存储过程或用户定义的函数导出导入

1、导出存储过程或用户定义的函数成*.sql文件

在SQL Server企业管理器里选中源数据库,

存储过程->单选或者多选中要转移的存储过程->

用户定义的函数->单选或者多选中要转移的函数->

按鼠标右键,选所有任务->生成SQL脚本->确定->在自己的电脑硬盘中生成一个自定义的*.sql文件->

保存->正在生成SQL脚本->成功

2、如果目的数据库经过防火墙,不在同一个局域网里,

要通过FTP或者remote desktop或者pcanywhere等方法把第1步生成的*.sql文件传到目的SQL Server数据库服务器上。

3、用查询分析器进入SQL Server目的数据库,

从菜单里选文件->打开->打开查询文件->选中第1步生成的*.sql文件->点执行查询的绿色倒三角型快捷键->

查询窗口里会出现执行后的消息(有时候可能因为存储过程和用户定义的函数之间有一定的依赖关系,会报一些错。

最好先执行用户定义的函数的*.sql文件,再执行存储过程的*.sql文件)

四、ORACLE数据库里表导入SQL Server数据库

1、在目的SQL Server数据库服务器上安装ORACLE Client软件或者ORACLE ODBC Driver.

在$ORACLE_HOME\network\admin\tnsnames.ora里配置ORACLE数据库的别名(service name)。

2、在WIN2000或者win2003服务器->管理工具->数据源(ODBC)->

系统DSN(本机器上NT域用户都可以用)->添加->ORACLE ODBC Driver->完成->

data source name 可以自定义,我一般填ORACLE数据库的sid标志,

description里可以填ORACLE数据库详细描述,也可以不填->

data source service name 填第1步定义的ORACLE数据库别名->OK。

(用户DSN和文件DSN也可以类似配置,但使用的时候有一些限制)

3、SQL Server的导入和导出数据工具里->选数据源-> 数据源(其它(ODBC数据源))->

选第2步在ODBC里定义的系统DSN source name,用户名密码处填写ORACLE系统的用户名和密码->

下一步->选择目的,选SQL Server数据库(跟上面第二点讲的一致,就不重复了)。

注意:在ORACLE表和SQL Server表之间'转换'那步很重要,

可以改变默认的字段数据类型,如image->text,decimal->int

五、SQL Server数据库里表导入ORACLE数据库

方法一.导出目的选通过ODBC数据源里定义的ORACLE数据库, 注意ORACLE里表名都是大写的.

我一般在ORACLE这边先生成好表结构,再选择SQL SERVER源表往ORACLE目的表里追加数据.

数据传输速度比方法二慢.

方法二.从SQL Server数据库导入数据到ORACLE数据库可以选择用Windows下ORACLE9i企业或者个人版数据库做中转。

具体配置方法可以参考:

Oracle 异构服务实践

注意:ORACLE通过访问SQL Server的数据库链接时,用select * 的时候字段名是用双引号引起来的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有