完整数据库备份:
完整备份会备份数据库中的全部数据,以及能够恢复这些数据的足够的日志。它为差别、事务日志备份建立基准备份。在数据库底层上,完整备份其实是把全部页(page)复制到备份设备上。
差别数据库备份:
差别备份仅备份自上次完整备份后发生更改的数据。一般,创建基准备份以后执行的差别备份比基准备份更小,建立速度也更快。所以,使用差别备份能够加快进行频繁备份的速度,从而下降数据丢失的风险。一般,一个差别基准会由若干个相继的差别备份使用。还原时,首先还原完整备份,而后再还原最后一个的差别备份。
业务数据库运行一段时间后,随着数据库的更新,包含在差别备份中的数据量会增长。这使得建立和还原差别备份的速度变慢。所以,必须从新建立一个完整备份,为另外一个系列的差别备份提供新的差别基准。
一样,差别备份和完整备份相似,也会备份恢复数据的足够日志,这是由数据库系统控制的。
在数据库底层上,差别备份是备份自上次完整备份之后全部修改的区(extent)。
部分备份:
部分备份与完整数据库备份相似,可是部分备份不包含全部文件组。部分备份包含主文件组、每一个读写文件组以及任何指定(可选)的只读文件中的全部数据。部分备份在但愿不包括只读文件组时很是有用。只读数据库的部分备份仅包含主文件组。
部分备份功能从SQL Server 2005开始引入。
建立部分备份时,必须在BACKUP 语句中指定 READ_WRITE_FILEGROUPS 选项。也能够指定任何只读文件或文件组,以便将其包括在部分备份中。
事务日志备份:
在完整恢复模式或大容量日志恢复模式下,须要按期进行事务日志备份。每一个日志备份都包括建立备份时处于活动状态的部分事务日志,以及先前日志备份中未备份的全部日志记录。在建立第一个事务日志备份以前,必须先建立完整备份(如完整数据库备份或一组文件备份中的第一个完整备份)。此后,必须按期备份事务日志。这不只能最小化工做丢失风险,还有助于事务日志的截断。一般,事务日志在每次常规日志备份以后截断。
连续的日志备份序列称为“日志链”。日志链从数据库的完整备份开始。一般,仅当第一次完整备份数据库时或者将恢复模式从简单恢复模式切换到完整恢复模式或大容量日志恢复模式以后,才会开始一个新的日志链。在完整恢复模式下(或者在大容量日志恢复模式下的某些时候),接二连三的日志链能够将数据库还原到任意时间点。
若要将数据库还原到故障点,必须保证日志链是完整的。也就是说,事务日志备份的连续序列必须可以延续到故障点。此日志序列的开始位置取决于所还原的数据备份类型:数据库备份(包括完整或差别备份)、部分备份或文件备份。对于数据库备份或部分备份,日志备份序列必须从数据库备份或部分备份的结尾处开始延续。对于一组文件备份,日志备份序列必须从整组文件备份的开头开始延续。
若是日志备份丢失或损坏,则可经过建立完整数据库备份或差别数据库备份并随后备份事务日志来开始一个新的日志链。若是要将数据库还原到事务日志备分内的某个时点,则建议保留丢失的日志备份以前的事务日志备份。
尾日志备份:
在完整恢复模式或大容量日志恢复模式下数据库发生灾难时,SQL Server 2005或2008能够备份日志结尾以捕获还没有备份的活动日志记录,把还原数据库操做以前对日志尾部执行的日志备份称为尾日志备份。
因此这里面有一点特别重要,在完整恢复模式或大容量日志恢复模式下一旦数据库发生灾难,还原数据库时,进行的第一步操做是尾日志备份(若是尾日志能备份的话),这样才不会丢失自上一第二天志备份(也多是完整或差别备份,主要是看用什么备份策略)后的数据。若是日志文件受损且没法建立结尾日志备份,则必须在不使用结尾日志备份的状况下还原数据库。最新日志备份(也多是完整或差别备份,主要是看用什么备份策略)后提交的任何事务都将丢失。
文件和文件组备份:
针对大型数据库和性能要求使完整数据库备份显得不切实际时,则能够建立文件备份。文件备份包含一个或多个文件(或文件组)中的全部数据。文件备份包括完整文件备份和差别文件备份。针对大型数据库能够分别备份和还原数据库中的文件,并且能够仅还原已损坏的文件,而没必要还原数据库的其余部分。
差别文件备份为建立当前文件备份提供了一种快速而且节省空间的方式。在简单恢复模式下,仅为只读文件组启用了差别文件备份。在完整恢复模式下,容许对具备差别基准的任何文件组进行差别文件备份。
文件和文件组备份增长了备份和还原的复杂度。
Copy_only备份:
仅复制备份能够在不打断正常备份序列的状况下复制数据库的内容,这个功能从SQL Server 2005开始引入。事务日志从不在仅复制备份后出现截断,这对平时DEV或DBA仅想得到一份完整的数据库用于测试工做,而又不影响当前的备份序列很是方便。
敲文字敲到手软,哈哈,算是对恢复模式和备份类型的全面总结,由于恢复模式和备份类型对设计一种合理的备份策略过重要了,但愿对你们有用。下一篇继续写SQL Server 2008备份策略设计。