1、完全备份
完全备份策略适合于数据库数据不是很大,而且数据更改不是很频繁的情况。可以几天或几周进行一次;
2、完全备份+日志备份
如不允许丢失太多数据,且不希望经常进行完全备份;
3、完全备份+差异备份+日志备份
该策略的好处是备份和恢复的速度都比较快,出现
故障时丢失的数据也比较少;
15.1.6 实现备份
1、 使用企业管理器备份
数据库 2、 使用Transact-SQL语句备份
数据库 (1) 备份
数据库的基本语法:
BACKUP DATABASE
数据库名
TO {<备份设备名>}|{DISK|TAPE}={‘物理备份文件名’}
[WITH [DIFFERENTIAL][[,]{INIT|NOINIT}]]
其中:
(A)<备份设备名>:将
数据库备份到已创建好的备份设备名上;
(B)DISK|TAPE:将
数据库备份到磁盘或磁带;
(D) DIFFERENTIAL:进行差异备份;
(E) INIT:本次备份
数据库将重写备份设备,即覆盖掉本设备上以前进行的所有备份;
(F) NOINIT:本次备份
数据库将追加到备份设备上,即不覆盖。
(2) 备份
数据库日志的基本语法:
BACKUP LOG
数据库名
TO {<备份设备名>}|{DISK|TAPE}={‘物理备份文件名’}
[WITH [{INIT|NOINIT}] [{[,]NO_LOG|TRUNCATE_ONLY|NO_TRUNCATE}]]
其中:
(A) NO_LOG和TRUNCATE_ONLY:表示备份完日志后要截断不活动的日志;
(B) NO_TRUNCATE:表示备份完日志后不截断不活动的日志;
(C) 其他选项同备份
数据库语句的选项。
15.1.7 备份媒体集
1、 当
数据库很大时,有时一个备份设备的空间可能不能满足要求,这里就可以将
数据库备份到多个不同的备份设备上,同时使用多个备份设备进行备份的为此设备就称为备份媒体集;
2、 使用媒体集与使用单一备份设备的方法一样,只需添加其他备份设备,系统会自动将这些设备作为一个备份媒体集使用;
3、 系统在使用备份媒体集时,基本是将备份所需的空间均衡地分担到每个备份设备上;
4、 如果以后要单独使用某个设备,则必须重新初始化备份媒体集,即删除不需要的设备后,重写并初始化即可,但注意的是,重新初始化后原备份媒体集上所备份的内容将全部丢失。
15.2 恢复
数据库 15.2.1 恢复前的准备及恢复顺序
1、恢复前的准备
在恢复
数据库前必须限制
数据库的访问,一般选择“限制访问”中的“db_owner、dbcreator或sysadmin的成员”,说明只有以上角色才可访问
数据库;
2、恢复的顺序
(1) 恢复最近的完全
数据库备份;
(2) 恢复完全
数据库备份之后最近的差异
数据库备份;
(3) 按日志备份的先后顺序恢复自最近的完全或差异
数据库备份之后的所有日志。
15.2.2 实现恢复
1、用企业管理器恢复
数据库 2、用Transact-SQL语句恢复
数据库 RESTORE DATABASE
数据库名
FROM 备份设备名
[WITH FILE=文件号[,]NORECOVERY[,]RECOVERY]
其中:
(1) FILE=文件号:标识要还原的备份集,文件号为1表示备份设备上的第一个备份集,文件号为2表示备份设备上的第二个备份集;
(2) NORECOVERY:表明对
数据库的恢复还没有完成,使用此项恢复的
数据库是不可用的,但可以继续恢复后续的备份;
(3) RECOVERY:表明对
数据库的恢复已完成,一般是在恢复
数据库的最后一个备份时使用此项,此时恢复的
数据库是可用的。
恢复日志的语法:
RESTORE LOG
数据库名 FROM 备份设备名 [WITH FILE=文件号[,]NORECOVERY[,]RECOVERY]