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

2016-02-19 10:25 8 1 收藏

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享SQL Server导入、导出、备份数据方法教程,希望对大家能有一点小小的帮助。

【 tulaoshi.com - 编程语言 】

一、导出导入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_HOMEnetworkadmintnsnames.ora里配置ORACLE数据库的别名(service name)。
  具体配置方法可以参考本站文章:客户端连服务器的注意事项
  2、在WIN2000或者win2003服务器-管理工具-数据源(ODBC)-
  系统DSN(本机器上NT域用户都可以用)-添加-ORACLE OD

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

来源:http://www.tulaoshi.com/n/20160219/1594543.html

延伸阅读
相信为数不少的系统管理员每天都在做着同一样的工作对数据进行备份。一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了。假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!下面笔者结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用。 我们计划让数据库...
标签: 苹果手机
iPhone或者iPad的数据备,可以通过苹果提供的iCloud备份设备上的数据,也可以通过连接到电脑用iTunes帮我们备份数据。 步骤1: 首先找到iPhone或者iPad上的“设置”,点击打开,然后找到“iCloud”,如下图所示。 步骤2: 点击“iCloud”,我们可以在这里输入我们的Apple ID账号和密码。如果没有账号,可点击下图所标识的“...
iPhone备份数据怎么迁移   iPhone数据怎么迁移到新iPhone6S?哪怕你的 iPhone 6s 还没有到手,你也可以按本文中提供的方法,做好提前准备工作,这样你收到新款 iPhone 后就可以更加快速地完成数据迁移了。当然,由于 iPhone 6s 默认预装 iOS 9 系统,所以为了保持数据的一致性,建议在开始之前,也将老款设备升级到 iOS 9。 理...
闪记怎么备份数据   闪记怎么备份数据?备份重要的记事可以帮助小伙伴防止数据的丢失。需要备份数据的小伙伴不妨跟小编一起看看全文。接下来小编就教大家闪记怎么备份数据?闪记备份数据方法。 1)打开闪记进入应用后点击,接着点击右上角。 2)接着点击,选择你要备份的分类后点击右上角,登录微盘即可备份。 ...
标签: Android
安卓手机备份数据的方法   刷机(ROM系统升级)是Android手机玩家的一大乐趣,特别是一些热门手机总会有民间高手为其打造丰富的第三方ROM资源,获得比官方ROM更高的系统版本、更多功能或是更快速度。但是,系统升级往往需要双Wipe(清除用户数据),导致我们所安装的程序、游戏存档或是微信聊天记录的丢失。因此,在刷机之前,如果可以做...

经验教程

444

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部