当前位置: 代码迷 >> SQL >> 【SQL Server】万事无忧——备份跟恢复
  详细解决方案

【SQL Server】万事无忧——备份跟恢复

热度:70   发布时间:2016-05-05 14:16:42.0
【SQL Server】万事无忧——备份和恢复

在SQL Server中,使用数据库备份和还原工具可以创建数据库的拷贝,将该拷贝放到安全的地方,当服务器崩溃或数据被破坏时,该拷贝就可以用于还原数据库。这就是我们本篇文章要说的备份和恢复。

(1)完整备份与恢复

制作数据库中所有内容的副本,在备份过程中需要花费的时间和空间最多,不宜频繁进行

恢复时,仅需要恢复最后一次全库备份即可


备份:backup database 数据库名 to 备份设备名 with [name='备份的名称'][init /noinit]

backup database MagDB to MagDb_1 with init

恢复:restore database 数据库名 from 备份设备名  with [norecovery/recovery]

restore database MagDbfrom MagDb_1with norecovery


(2)差异(增量)备份与恢复

只备份最后一次全库备份后被修改的数据,备份的时间和空间较少

恢复时,先恢复最后一次完整备份,再恢复最后一次差异备份


备份:backup database 数据库名 to 备份设备名 with differential  [name='备份的名称']

backup database MagDb to MagDb_1 defferential

恢复:restore database 数据库名 from 备份设备名  with [norecovery/recovery]

restore database MagDbfrom MagDb_1with file =2,recovery


(3)事务日志备份与恢复

只备份最后一次日志备份后所有的事务日志记录,备份时所用的时间和空间更少

恢复时,可以指定恢复到某一事务;可以将其恢复到某个破坏性操作执行前的一个事务,这是全库备份和差异备份所不能做到的,但利用日志备份进行恢复时,需要重新执行日志记录中的修改命令,来恢复数据库中的数据,所以通常恢复的时间较长;先恢复最后一次全库备份,再恢复最后一次差异备份,再顺序恢复最后一次差异备份以后进行的所有事务日志备份


备份:backup log 数据库名 to 备份设备名 with init/noinit

backup log DocDb to disk='c:\databak\DocDb_1.bat'

恢复:restore log 数据库名 from 备份设备名 with [norecovery/recovery]

restore log DocDbfrom disk='c:\databak\DocDb1.bat'


(4)文件和文件组备份与恢复

备份某个数据库文件或数据库文件组,必须与事务日志结合才有意义

恢复时,使用事务日志,使所有的数据文件恢复到同一个时间点


备份:backup database 数据库名  file='文件的逻辑名称'(filegroup) to 备份设备名 with init/noinit

backup database DocDb file='DocDb_Data'to disk='c:\databak\Docfile1.dat'

恢复:restore database 数据库名  file='文件的逻辑名称'(filegroup) from 备份设备名

restore database DocDbfile="DocDb_Data"from disk="c:\databak\Docfile1.dat"


                      

                            让您的数据万事无忧吧,做好备份,恢复,易如反掌。



6楼yuluows昨天 19:12
嘻嘻,加油哦
Re: linlin8023061917分钟前
回复yuluowsn你这离开CSDN好多年的人要回归了呀~
5楼gxq741718618昨天 07:59
很有条理哦!!
Re: linlin80230619昨天 16:15
回复gxq741718618n嘿嘿~
4楼lzh1110昨天 22:50
嘿嘿!不错哦!
Re: linlin80230619昨天 07:58
回复lzh1110n吼吼~~~~
3楼lfmilaoshi昨天 21:19
好文章,有张图就更好了。。。米老师
Re: linlin80230619昨天 22:20
回复lfmilaoshin好的~以后会注意图文结合的~
2楼liujiahan6296293天前 17:07
好文章!
Re: linlin80230619前天 08:43
回复liujiahan629629n你这话学得可真快呀~哈哈~
1楼CJL56783天前 15:23
很实用的知识
  相关解决方案