MSSQL自带了一个样例数据库pubs,就拿这个举例好了。
首先,来一次完全备份。对于数据量很大的数据库,这样的操作当然很费时间。所以我们采用每天凌晨4点一次完全备份,每个小时一个差异备份,每分钟一次日志备份。这样数据的丢失率就是一分钟了。
在企业管理器中右击要备份的数据库pubs/所有任务、备份数据库。
因为第一次必须是完全备份,以后的差异备份是在完全备份的基础上恢复的。没有这一次完全备份就像无本之木,无源之水。是没有意义的。
所以备份类型一定选择“数据库-完全”。目的是指备份数据到磁盘的哪一个地方,我们添加一个地址好了。
到这里完全备份已经做完了,可以将pubs数据库删除掉,然后还原。这没什么难度,所以我们继续差异备份。
在完全备份之后,增加一条新数据(红线标出的是新增加的)。
像完全备份一样选择备份数据库,不过这次备份类型一定要选“数据库-差异”。添加备份的磁盘目标地址。
到此,差异备份也已做完,可以看一下备份的文件。
差异备份要比完全备份的数据量小得多,这就是为什么不能经常做完全备份的原因。
数据库还原
还原数据库可以保证数据库的移动性,这台机器上创建的数据库可以移植到另一台机器上去。
开始还原时出现的问题,还原完成,数据库的状态却一直是正在加载,重启数据库,重启机器也不见效。
其实不用那么麻烦,直接在查询分析器中执行如下代码:
restore database pubs from disk='G:MyDatapubsTotal' with NORECOVERY --恢复完全备份时先不要加载数据库
restore database pubs from disk='G:MyDatapubsDiff0' with RECOVERY--当这是近期最后一次恢复时加载数据库