设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] 【zt】sql server用sql文件备份还原数据库

[复制链接]

尚未签到

发表于 2016-11-1 05:49:35 | 显示全部楼层 |阅读模式
在sql server下备份还原数据库,相信大家都用sql server企业管理器下面自带的工具,但在制作安装软件的时候。如果仍然用企业管理器下面备份整个数据库,然后还原数据库,这样就显得有点笨重,这样备份数据库主要占的空间太大,如果数据库大一点的话,对一种小小的安装光盘就不合适了,可选的方法,是把数据库对象和数据库中的数据备份成.sql文件,然后通过查询分析器或者命令行执行命令安装,可以节约很大的空间。下面就把我实践的过程简单介绍一下,希望可以给大家一点帮助(所用的操作系统师win2003): 一、备份数据对象结构
1、打开“企业管理器”选择一个想备份的数据库。
2、点击对象“表”,然后再右边显示所有表的选择框中选择想备份的数据库表,在选择的表上面点击右键—〉选择“所有任务”—〉生成sql脚本。
   弹出对话框的属性设置:
   第一个属性页:一般不需要怎么改动
   第二个属性页;把“create”、“drop”和“包含扩展属性”全部选上。
   第三个属性页:根据你自己的实际情况设置或者就默认属性。
3、然后点“确定”,就可以生成数据库中数据表的sql描述的表结构
4、按类似的方法,备份数据库表中其它的对象,如视图、存储过程等。
二、备份数据库表数据
1、备份数据表结构后,下一步就是备份数据库表中的数据。
2、sql server自带的工具不支持把数据库中的表导出到一个sql文件,需要借助第三方工具,我推荐使用“sql server数据库导出器”,这一款工具比较强大,支持把数据库表中的数据转换成。Sql文件。
  使用这个工具,我们把数据库表中的数据备份成.sql文件
  三、恢复数据库表结构和数据库数据,我们用两种方法。
1、备份数据库的表结构,就可以在查询分析器运行:
   首先运行数据库脚本—〉运行备份的数据库对象脚本—〉恢复备份的数据库表数据。
   这种方法,即容易理解,又方便
2、下面我介绍一下在命令行下如何恢复备份的.sql文件
   1)这次我们使用的是osql工具(当然其它类似的工具还有isql和isqlw,读者可以自己去掌握),它是在命令行下执行的。osql工具和查询分析器是一样的,在查询分析器下面调试通过的sql语句都可以在osql执行,但它的语法有一点不同,
它执行的语法为:
Osql -S 服务器 -U 用户名 -P密码 -d 目标数据库
上面就是连接到一个数据库执行的语法,然后你可以使用sql语句对数据库进行操作,当然,你要使一条命令执行,必须加上go这个语句。如果你需要详细了解osql各个参数的作用,你可以在命令行下面输入: osql -?就ok了。
2)了解osql的简单使用,我们可以建立一个bat批处理文件,使用批处理文件,可以自动完成数据的备份。
下面我们说说批处理文件的制作过程,首先把所有的sql文件放在一个文件下面。比如/sql/*.sql,然后再*.sql文件夹下面建立一个批处理文件,我们取名叫a.bat .
这个批处理的文件格式主要如下两种格式: 
  。osql -U登录用户 -P密码 -S服务器 -i文件夹名称
 这个命令行主要是创建数据库的命令,假设我们现在的数据库为“风平浪静”
。osql -U登录用户 -P密码 -S服务器 -d 风平浪静-i文件夹名称
然后就可以在风平浪静数据库下面执行这个sql文件下面的sql语句,否则默认执行的数据库为系统master数据库,希望大家在使用的时候注意。
如果对上面还有一些参数不是很清楚的话,可以自己查看帮助。
它默认在当前目录下面寻找.Sql文件执行。
3)上面生成的批处理文件,点击就可以运行了,不过在写这个批处理的时候,我们必须注意的是sql文件的执行顺序,否则会出现一些莫名其妙的问题,呵呵,是不是在数据库已经还原出原来一样的数据库。当然,你还可以在批处理文件里面加入 @echo来写入日志文件。就可以把执行的过程都记录下来。
三、后记
使用这种方法,备份和还原数据库,可以方便的制作软件的安装程序,可以很大的减少数据库的容量。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-293916-1-1.html 上篇帖子: SQL SERVER 2005数据库镜像(下) 下篇帖子: SQL Server 2005中的CHECKSUM功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表