SQL2005使用多个备份设备和镜像备份设备提高备份速度

由于硬盘转数及设备自身性能限制,当备份大量数据时会很耗费时间
1、提高备份的速度:备份到多个不同的磁盘上备份文件,备份与还原速度都会提高
实现方法:
exec sp_addumpdevice ‘disk‘,‘a1‘,‘c:\sqlDB\a1.bak‘
exec sp_addumpdevice ‘disk‘,‘a1‘,‘e:\sqlDB\a2.bak‘ (添加备份设备命令) 分别存在不同的备份文件上。
backup database zxta to a1,a2 with medianame=‘a12‘ 这样将备份备到了两个设备上,a12是a1和a2备份设备的组合名称
            还原:任务-还原-数据库,选择从设备还原,需选择两个备份文件
            命令: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  回滚未提交的事务,数据库变为可用状态)

SQL2005使用多个备份设备和镜像备份设备提高备份速度

上一篇:Python学习笔记——Python基础


下一篇:MySQL查询数据库表空间大小