今天小编给大家梳理一下数据库备份的相关知识,希望对大家能有所帮助!
1、完整备份
完整备份相当于针对整个数据库备份,包含数据库的全部内容。数据库完整备份可以将数据库的所有内容备份为一个.Bak文件。后续可以通过该备份文件在本机或者拷贝到其他服务器上进行数据库还原。
具体操作可以通过SQL Server Management Studio操作界面进行备份和还原操作。使用起来比较简单。
缺点:数据库备份耗时长、占用文件体积大。
说明:
随着业务增长,数据库不断增大,完整数备份需要的时间会延长,并且需要占用很大存储空间。针对大型数据库可以配合差异备份来完成数据库的备份任务。
使用 sp_spaceused 系统存储过程估计完整数据库备份的大小。
脚本示例:
- USE DB;
- GO
- BACKUP DATABASE DB
- TO DISK = 'D:\Bak\DB.bak'
- WITH FORMAT,
- MEDIANAME = 'SQLServerBackups',
- NAME = 'Full Backup of DB';
- GO
2、差异备份
差异备份只记录自上次数据库备份后发生更改的数据。差异数据库备份比数据库备份小,而且备份速度快,因此可以更经常地备份,经常备份将减少丢失数据的危险;
注意:创建差异数据库备份需要有以前的完整数据库备份。如果你的数据库之前从未进行过备份,如果要创建差异备份之前,要先执行完整数据库备份。
当差异备份的大小增大时,还原差异备份会显著延长还原数据库所需的时间。建议按设定的间隔执行新的完整备份,以便为数据建立新的差异基准。
使用场景:可以每周执行一次整个数据库的完整备份(即完整数据库备份),然后在该周内执行一系列常规的差异数据库备份。
脚本示例:
- -- 创建完整备份
- BACKUP DATABASE DB
- TO back1
- WITH INIT;
- GO
- -- 创建差异备份
- BACKUP DATABASE MyAdvWorks
- TO back1
- WITH DIFFERENTIAL;
- GO
3、事务日志备份:
是自上次备份事务日志后对数据库执行的所有事务的一系列记录。可以使用事务日志备份将数据库恢复到特定的即时点(如输入多余数据前的那一点)或恢复到故障点;
4、文件组备份
可以备份和还原数据库中的个别文件。可以只还原已损坏的文件,而不用还原数据库的其余部分,从而加快了数据库还原的恢复速度。
本文转载自微信公众号「IT技术分享社区」,可以通过以下二维码关注。转载本文请联系IT技术分享社区公众号。
个人博客网站:https://programmerblog.xyz