我们在工作的时候 有时可能需要对单个表进行备份。 这不 我就遇到了这种问题, 各种google baidu
最后总算是搞定了 。 hehe
废话不多说 下面说说我是怎么实现的 。
需求: 把resource库中的表tb_document备份到resources数据库中去
表结构如下:
Id是自增一主键 u_id 是关联users表中的一个外键
法一:SELECT * INTO resources.dbo.tb_document FROMresource.dbo.tb_document
优点:简单快捷
缺点:改变了表的结构,只是把表里面的数据备份出来了表中的各种关联都没有了。而且在执行sql语句的时候目标表不能存在 sql会自动新建。
法二:insert into
resources.dbo.tb_document(d_name,d_url,d_grade,d_course,d_semester,d_author,d_isPublish,d_publishDate,d_downloads,d_info)
selectd_name,d_url,d_grade,d_course,d_semester,d_author,d_isPublish,d_publishDate,d_downloads,d_info
from resource.dbo.tb_document
优点:简单
缺点: sql 语句比较长,关联关系比较多的表限制比较多在执行sql的时候可能会报各种错误最好是先跳过有关联关系的列
法三:通过Sql Server Enterprise Manager 管理器操作
优点:都是界面操作简单快捷而且可以跨主机操作
缺点:步骤比较繁杂。会生成中间文件
总结:推荐使用方法二,虽能代码比较长,但可以熟练sql语句也不会生成中间文件。不过法一法二在做跨机器的备份的时候没有三方便(在操作的时候注意关联关系)
备份
1) 在Sql Server Enterprise Manager管理器中 找到要备份的表tb_document 选中 右键---->所有任务----->导出数据
2) 下一步-----> 下一步到达下图所示的界面修改目的 我们这里选择文本文件 (也可以导出其他格式的数据 自己发挥)
3) 在本地磁盘上新建一个txt 文档 tb_document.txt能后选择该文件
4)下一步-----> 下一步到达下图所示界面源: 选择要备份的表
5) 下一步-----> 下一步 一直到出现 完成按钮 点击完成 如果没出错的话会弹出一个成功的界面。
备份表tb_document完成。打开保存的文件 表中的数据都备份到该文件中去了
恢复:
很简单和备份差不多
选择需要恢复的表, 右键----->所有任务----->导入数据----->下一步
选择数据源: 文本文件 选择文件 能后就一直下一步 下一步 就好了! 完成后 打开表就能看到数据了