还原:任务-还原-数据库,选择从设备还原,需选择两个备份文件
命令:restore database zxta from a1,a2 with replace
2、使用镜像媒体备份数据库(相同数据同时备份到两个地方,可以使用每个备份还原)SQL2005有的功能。
注:需先开启xp_cmdshell功能,让SQL语句中可以执行cmd命令,开始-程序-SQL2005-配置工具-外围应用配置器-功能的外围配置器-xp_cmdshell 启用
2.1创建两个备份设备
创建两个备份设备的存放目录:
exec xp_cmdshell ‘mkdir c:\BackupOrginal‘
exec xp_cmdshell ‘mkdir E:\BackupMirror‘
在两个不同的盘下创建不同的备份设备
exec sp_addumpdevice ‘disk‘ , ‘BackupOrginal‘ , ‘c:\BackupOrginal\BackupOrginal.bak‘
exec sp_addumpdevice ‘disk‘ , ‘BackupMirror‘ , ‘c:\BackupMirror\BackupMirror.bak‘
此时在服务器对象-备份设备下出现了 BackupOrginal和BackupMirror两个备份设备
2.2执行备份
backup database zxta to BackupOrginal mirror to BackupMirror with format
format(格式化两个备份设备,清除原有信息)
2.3可以使用任何一个设备还原
restore database zxta from BackupOrginal with replace
restore database zxta from BackupMirror with replace
3、备份还原相关参数
备份数据库
backup database 数据库名 to disk=‘c:\sqldb\zxta.bak‘ with init (init 如果备份已存在清除原有备份数据,执行覆盖操作,使用时慎重,如果不写参数备份默认为追加备份 ,noinit 追加参数)
backup database 数据库名称 to disk=‘备份文件路径\文件名.bak’ with differential (differential 差异备份)
备份日志
backup log 数据库名 to disk=‘c:\sqldb\zxta.bak‘ with no_truncate (noinit 追加参数)
还原数据库参数:
restore database zxta from a1,a2 with file=1,norecovery,replace (file=1 使用备份媒体中的第1个备份;norecovery 还原后还需使用其他备份还原,不要回滚事务日志,例如使用日志还原一定加此参数;replace覆盖现有数据库)
使用日志还原数据库
restore log from a1,a2 with file=2,recovery (recovery 回滚未提交的事务,数据库变为可用状态)
原文:https://blog.51cto.com/adairh/2623662