SQL Server导入、导出、备份数据方法

一、导出导入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 OD

个人体会:
SQL Server2005里“生成脚本”这个功能来生成所有的内容。SP亦可,好处是可以同时把所有的SP生成在一个文件里,那么也只要执行一下就把所有的SP放在新的数据库里了。同理,关于表,视图等其他也是这样的。

(0)

相关推荐

  • sqlserver2005打造自动备份的维护计划图解教程

    其使用方法如下: (1)启动[sql server Management Studio],在[对象资源管理器]窗口里选择[管理]--[维护计划]选项. 2)右击[维护计划],在弹出的快捷菜单里选择[维护计划向导]选项 ,弹出如图所示的[维护计划向导]对话框,单击[下一步]按钮 3)弹出如图所示[选择目标服务器]对话框,在[名称]文本框里可以输入维护计划的名称:在[说明]文本框里可以输入维护计划的说明文字:[在服务器]文本框里可以输入要使用的服务器名:最后选择正确的身份证信息,单击[下一步]按钮.

  • SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法

    以下仅为参照,如果有多个实例,可能会有些许不同: 本环境是SQL Server 2005 Standard Version 64-bit 和 SQL Server 2008 Standard Version 64-bit 双实例同时安装在一个 Windows Server 2008 Standard Version 64-bit OS上: 代码 复制代码 代码如下: Windows Server 2008 Standard Version 64-bit SQL Server 2005 Stand

  • SQLServer2005 按照日期自动备份的方法

    SqlServer自动作业备份 1.打开SQL Server Management Studio 2.启动SQL Server代理 3.点击作业->新建作业 4."常规"中输入作业的名称 5.新建步骤,类型选T-SQL,在下面的命令中输入下面语句 复制代码 代码如下: DECLARE @strPath NVARCHAR(200) set @strPath = convert(NVARCHAR(19),getdate(),120) set @strPath = REPLACE(@s

  • sql server 2000数据库备份还原的图文教程

    MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL2000中数据库的备份和还原功能. 1.首先请保证您的备份文件是bak文件,并且备份文件能够正常还原. 2.打开"企业管理器"→"数据库",选择您要还原的数据库,右键"所有任务"→"还原数据库".如图: MSSQL2000数据库备份还原的图文教程 3.如果需要还原以前备份过的文件,直接在"还原"选择"数据库",然后在下方选

  • 将备份的SQLServer数据库转换为SQLite数据库操作方法

    操作方法:先要安装好SQLServer2005,并且记住安装时自己设置的用户名和密码.下面以恢复SQLServer下备份的数据库文件epdmdb20101008.bak为SQLite数据库为例来说明操作的步骤. ① 打开SQLServer2005,如下图所示: 在登陆界面输入登录名和密码,点"连接". 登录之后的界面如下: ② 新建一个数据库. 点左边导航栏的数据库,右键-新建数据库:如下图所示: 在弹出的新建数据库窗口中输入"数据库名称",点"添加&qu

  • SQL Server 2008 备份数据库、还原数据库的方法

    SQL Server 2008 备份数据库: 1.打开SQL , 找到要备份的数据库 , 右键 >> 任务 >>备份 2.弹出 [ 备份数据库对话框 ] ,如图: 3.点击添加 [ 按钮 ] . 如下图: 4.选择要备份的路径 和 备份的文件名 点击 [ 确定 ]. 5.然后就一直点击确定就可以了 . 然后我们来到D:\ 看看 6.这个时候 , 你可以把它压缩打包什么的 , 要用的时候 , 在文件后面加 .bak 后缀 就可以用SQL 来还原了,还原可以来看这里~ SQL Serv

  • SQL Server 数据库的备份详细介绍及注意事项

    SQL Server 备份 前言 为什么要备份?理由很简单--为了还原/恢复.当然,如果不备份,还可以通过磁盘恢复来找回丢失的文件,不过SQL Server很生气,后果很严重.到时候你就知道为什么先叫你备份一次再开始看文章了.∩__∩.本系列将介绍SQL Server所有可用的备份还原功能,并尽可能用实例说话. 什么是备份?SQL Server基于Windows,以文件形式存放资料,所以备份就是Windows上SQL Server相关文件的一个某个时间点的副本.根据备份类型的不同,副本的种类和内

  • sql server 2005数据库备份还原图文教程

    首先.点击桌面的"SQL Server Management Studio"打开,sql2005的管理器,点击"连接"登录,如图: 一.新建数据库 1.新建数据库 右键点击"数据库"--"新建数据库",如图: MSSQL2005备份还原图文教程 填写数据库名,如mydata,选择数据库保存路径,一般可以保持默认地址,点击"确定". 2.新建用户 右键点击"安全性"--"登录名&

  • SQL Server 数据库备份和还原认识和总结 (一)

    可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只使用最基础的功能,对它也只有一个大概的认识,如果对它有更深入的认识,了解它更全面的功能岂不是更好,到用时会得心应手.因为经常有中小型客户公司管理人员对数据库不了解或掌握不牢,会请我们技术人员出马找回丢失的数据或硬件损坏移动数据的现象,或其它情况的发生. 首先从数据库[恢复模式]说起,因为数据库如果恢复模式设置不正确,会导致数据无法还原. SQL Server

  • SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法

    以前一直使用SQL Server2000,现在跟潮流都这么紧,而且制定要求使用SQL Server2005,就在现在的项目中使用它了.  对于SQL Server 2005,有几个地方是要注意的,比方在还原数据库时,不像2000里边将数据库和文件区分的很细,统一均为文件,这就使还原的数据库文件制定为. bak.那么想还原2000的数据库(备份数据库文件,无后缀名的),就需要自己手工选择. 选择下拉框中的"所有文件",这时就会显示"备份数据库文件"了,选择-确定 最主

随机推荐