SQL Server 对bak文件的备份、恢复、导出、导入(转)

时间:2024-03-09 22:54:07

一、备份还原数据库

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服务器上所有权限范围内的数据库)->下一步->
选择目的->目的(文本文件)-> 文件名(在自己的电脑硬盘中生成一个自定义的文本文件) ->下一步->
制定表复制或查询->选从源数据库复制表和视图(也可以选择用一条查询指定要传输的数据)->下一步->
选择目的文件格式->源(选择要导出的表)->用默认的带分隔符->选第一行包含有列名称选项->下一步->
保存、调度和复制包->时间->立即运行(如果要实现隔一段时间自动导出到文本文件