SQLServer导入、导出、备份数据方法

SQLServer导入、导出、备份数据方法

2023年7月30日发(作者:)

SQLServer导⼊、导出、备份数据⽅法⼀、导出导⼊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_⾥配置ORACLE数据库的别名(service name)。

  具体配置⽅法可以参考本站⽂章:客户端连服务器的注意事项

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

  系统DSN(本机器上NT域⽤户都可以⽤)->添加->ORACLE OD

个⼈体会:

SQL Server2005⾥“⽣成脚本”这个功能来⽣成所有的内容。SP亦可,好处是可以同时把所有的SP⽣成在⼀个⽂件⾥,那么也只要执⾏⼀下就把所有的SP放在新的数据库⾥了。同理,关于表,视图等其他也是这样的。

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690654364a387419.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信