浅谈 SQLServer 数据库的备份与还原

在生活中,数据库管理员最担心的就是数据库瘫痪,从而造成数据丢失,任何数据的丢失都会造成非常严重的后果,所以我们为了更有效的保护和恢复数据,需要进行备份数据。 一般来说,造成数据的丢失主要包括几类: 1、程序错误:程序异常终止或逻辑错误 2、人为错误:管理员误操作 3、计算机失败:系统崩溃,硬件和软件引起的错误 4、磁盘失败:磁盘读写磁头损坏、磁盘物理块损坏 5、灾难和偷窃:自然灾害、人为偷窃都会造成 SQL server的备份有如下三种: 1、完整备份:完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。它代表的是备份完成时刻的数据库。是所有备份类型的基础。

2、差异备份:是指对上一次完整备份之后所有更改的数据做备份,备份过程能够识别出数据库中哪一部分被修改了,并只对这一部分做备份。

差异备份的优势是速度快,备份数据库所需要的时间很少,但差异备份要求事先已经执行过一次完整备份。

3、事务日志备份:记录了数据库的所有改变,在备份事务日志时,需要考虑以下因素:

在执行了至少一次完整备份后,才能备份事务日志; 在简单恢复模式下不能备份事务日志; 如果没有与其相一致的数据库备份,则不能恢复事务日志。 在执行数据库事务日志备份期间,SQL server将做以下工作: 备份事务日志:从上一次成功的事务日志备份到当前事务日志的尾部; 截断事务日志:到事务日志活动部分的开始,丢弃不活动的部分。 事务日志备份主要是T-SQL语句,而不是整个数据库结构、文件结构或数据。 恢复模式也有三种: 1、简单恢复模式:在简单恢复模式下,不活动的日志将被删除,所以不支持事务日志备份。也正是因为不支持事务日志备份,数据库只能恢复到备份的时间点,而无法将数据库还原到故障点或特定的时间点。因此,简单恢复模式只适用于小型数据库和不经常改动的数据库。

2、完整恢复模式:对于十分重要的生产数据库,如银行、电信系统,在发生故障时可能要求恢复到历史上某个时刻,一旦发生故障,必须保证数据不丢失,保证数据能够恢复到发生故障的状态。这样,就必须采用完整恢复模式。

完整恢复模式可在最大范围内防止出现故障时丢失数据,它包括数据库备份和事务日志备份,并提供全面保护,使数据库免受媒体故障的影响。

由于支持事务日志备份,因此完整恢复模式可以将数据库恢复到任意一个指定的时间点。

3、大容量日志恢复模式: DBA在某些场合需要对数据库执行一些大批量的数据插入、更新或删除等操作,如一次需要导入上百万条数据,如果在完整恢复模式下,那么这些操作将产生大量的日志记录,导致数据库性能很低。在这种情况下,可以采用大容量日志恢复模式来提高性能。

虽然大容量日志恢复模式会完整的记录其他事务,但它只对大容量操作进行最小记录,只要日志备份包含大容量操作,数据库就只能恢复到日志备份的结尾,而不能恢复到某个时间点或日志备份中某个标记的事务。 备份设备: 在进行备份时,一般是建立一个文件来存储备份的数据,这个备份文件就叫做备份设备,如图中的backup就是创建的一个备份设备:

注意:若想创建自动备份,那么SQL server代理必须启用:

创建备份计划: 右击“维护计划”,点击“维护计划向导”即可根据向导来进行做备份计划:

勾选要执行的工作:

定义详细信息:

设置自动清除历史备份:

由于每天对数据库进行备份,时间久了,其备份文件占用的磁盘空间也越来越大,通过修改维护计划,可以

所有的备份设置,最好在初次备份时,进行全面的检查,以确保备份的万无一失。 备份完毕之后,查看备份文件:

这里我们删除数据库中的表来模拟数据库数据丢失

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券