天天看点

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

  (1)完整备份与恢复

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

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

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

<span style="font-size: 18px">backup database magdb to magdb_1 with init</span>

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

<span style="font-size: 18px">restore database magdb

from magdb_1

with norecovery</span>

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

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

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

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

<span style="font-size: 18px">backup database magdb to magdb_1 defferential</span>

with file =2,

recovery</span>

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

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

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

<span style="font-size: 18px">backup log docdb to disk='c:\databak\docdb_1.bat'</span>

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

<span style="font-size: 18px">restore log docdb

from disk='c:\databak\docdb1.bat'</span>

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

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

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

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

<span style="font-size: 18px">backup database docdb

file='docdb_data'

to disk='c:\databak\docfile1.dat'</span>

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

<span style="font-size: 18px">restore database docdb

file="docdb_data"

from disk="c:\databak\docfile1.dat"</span>

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

====================================分割线================================

最新内容请见作者的github页:http://qaseven.github.io/