SQLserver数据库备份和还原
SQL server的备份有如下三种:
1、完整备份:完整备份包括对整个数据库、部分事务⽇志、数据库结构和⽂件结构的备份。它代表的是备份完成时刻的数据库。是所有备份类型的基础。
2、差异备份:是指对上⼀次完整备份之后所有更改的数据做备份,备份过程能够识别出数据库中哪⼀部分被修改了,并只对这⼀部分做备份。
差异备份的优势是速度快,备份数据库所需要的时间很少,但差异备份要求事先已经执⾏过⼀次完整备份。
3、事务⽇志备份:记录了数据库的所有改变,在备份事务⽇志时,需要考虑以下因素:
在执⾏了⾄少⼀次完整备份后,才能备份事务⽇志;
在简单恢复模式下不能备份事务⽇志;
如果没有与其相⼀致的数据库备份,则不能恢复事务⽇志。
在执⾏数据库事务⽇志备份期间,SQL server将做以下⼯作:
备份事务⽇志:从上⼀次成功的事务⽇志备份到当前事务⽇志的尾部;
截断事务⽇志:到事务⽇志活动部分的开始,丢弃不活动的部分。
事务⽇志备份主要是T-SQL语句,⽽不是整个数据库结构、⽂件结构或数据。
恢复模式也有三种:
1、简单恢复模式:在简单恢复模式下,不活动的⽇志将被删除,所以不⽀持事务⽇志备份。也正是因为不⽀持事务⽇志备份,数据库只能恢复到备份的时间点,⽽⽆法将数据库还原到故障点或特定的时间点。因此,简单恢复模式只适⽤于⼩型数据库和不经常改动的数据库。
2、完整恢复模式:对于⼗分重要的⽣产数据库,如银⾏、电信系统,在发⽣故障时可能要求恢复到历史上某个时刻,⼀旦发⽣故障,必须保证数据不丢失,保证数据能够恢复到发⽣故障的状态。这样,就必须采⽤完整恢复模式。
完整恢复模式可在最⼤范围内防⽌出现故障时丢失数据,它包括数据库备份和事务⽇志备份,并提供全⾯保护,使数据库免受媒体故障的影响。
由于⽀持事务⽇志备份,因此完整恢复模式可以将数据库恢复到任意⼀个指定的时间点。
网页历史记录恢复3、⼤容量⽇志恢复模式:
DBA在某些场合需要对数据库执⾏⼀些⼤批量的数据插⼊、更新或删除等操作,如⼀次需要导⼊上百万条数据,如果在完整恢复模式下,那么这些操作将产⽣⼤量的⽇志记录,导致数据库性能很低。在这种情况下,可以采⽤⼤容量⽇志恢复模式来提⾼性能。
虽然⼤容量⽇志恢复模式会完整的记录其他事务,但它只对⼤容量操作进⾏最⼩记录,只要⽇志备份包含⼤容量操作,数据库就只能恢复到⽇志备份的结尾,⽽不能恢复到某个时间点或⽇志备份中某个标记的事务。
备份设备:
在进⾏备份时,⼀般是建⽴⼀个⽂件来存储备份的数据,这个备份⽂件就叫做备份设备,如下图中的backup就是创建的⼀个备份设备:
如何设置⾃动备份?需要注意的是,若想创建⾃动备份,那么SQL server代理必须启⽤:
创建备份计划:
右击“维护计划”,点击“维护计划向导”即可根据向导来进⾏做备份计划:
勾选要执⾏的⼯作
定义详细信息
设置⾃动清除历史备份:
由于每天对数据库进⾏备份,时间久了,其备份⽂件占⽤的磁盘空间也越来越⼤,通过修改维护计划,可以⾃动清除历史备份,具体步骤如
下所⽰:
所有的备份设置,最好在初次备份时,进⾏全⾯的检查,以确保备份的万⽆⼀失。