首页数据库数据库增量备份 如何让SQL数据库进行增量备份

数据库增量备份 如何让SQL数据库进行增量备份

编程之家2023-10-2185次浏览

大家好,今天来为大家分享数据库增量备份的一些知识点,和如何让SQL数据库进行增量备份的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

数据库增量备份 如何让SQL数据库进行增量备份

sql server数据库的备份可以做增量备份吗

可以。

1.在“SQL Server企业管理器”中注册数据库所在的服务器,注意要使用sa用户名和口令,否则以后执行备份调度的时候,会出现权限不足,导致不能进行备份。

2.确保该服务器的SQL Server Agent服务是开启的,因为所有的调度都是通过该代理进行执行的。

3.在“SQL Server企业管理器”中选中Test数据库,右键打开“备份数据库”窗口,指定一个新的文件Test-daily.bak,选择“完全”进行一次完全备份。

4.再次打开“备份数据库”窗口,这次使用“差异备份”,“重写”选项设置为“追加到媒体”,目的文件仍然是前面步骤所指定的Test-daily.bak,并在“调度”选项中设置为每天的19:00,这样,SQL Server会在每天的19:00将数据库自上次备份以来发生的变化,以增量备份的方式追加到Test-daily.bak文件中。(测试的时候,可以设置为每天的每1分钟进行一次备份,以便可以很快的看到备份结果)

数据库增量备份原理

1.全备份:这是增量备份的基础,必须先有一个全备份

数据库增量备份 如何让SQL数据库进行增量备份

2.增量备份:当你备份的时候它会检索上个增量备份跟现在库相比哪些块使用过了,也就是只备份自上次备份以来已使用过的块(上次是全备份就从全备份里检索,上次是增量的话就从增量里面检索),这样的文件比以前的要小很多。

ORACLE里面可以使用块跟踪进程,它会记录哪些块改变过了并保存到一个单独的文件中,然后增量备份的时候就不必从库中检索,直接检索这个文件就行了,这样的效率很高

如何让SQL数据库进行增量备份

在SQL Server 2000中,假定我们拥有一个数据库为:Test,现在需要它每天19:00自动进行一次备份,并且以后一旦发生数据库错误,我们都可以通过备份文件将数据库恢复到任何一个备份过的时刻点。

备份步骤:

1.在“SQL Server企业管理器”中注册数据库所在的服务器,注意要使用sa用户名和口令,否则以后执行备份调度的时候,会出现权限不足,导致不能进行备份。

2.确保该服务器的SQL Server Agent服务是开启的,因为所有的调度都是通过该代理进行执行的。

数据库增量备份 如何让SQL数据库进行增量备份

3.在“SQL Server企业管理器”中选中Test数据库,右键打开“备份数据库”窗口,指定一个新的文件Test-daily.bak,选择“完全”进行一次完全备份。

4.再次打开“备份数据库”窗口,这次使用“差异备份”,“重写”选项设置为“追加到媒体”,目的文件仍然是前面步骤所指定的Test-daily.bak,并在“调度”选项中设置为每天的19:00,这样,SQL Server会在每天的19:00将数据库自上次备份以来发生的变化,以增量备份的方式追加到Test-daily.bak文件中。(测试的时候,可以设置为每天的每1分钟进行一次备份,以便可以很快的看到备份结果)

在需要进行数据库恢复的时候,可以按照如下还原步骤进行操作:

1.新建一个数据库,比如名为Back,右键打开“还原数据库”窗口,选择“从设备”进行还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,“备份号”默认为1(对应的就是备份步骤3中的初次完全备份),不必更改。在“选项”标签页中,选中“强制还原”,最关键的一步是,在“恢复完成状态”中,选中第2或第3项,即保证“能还原其它事务日志”,这样还原之后,这个新的数据库就回到了我们进行第一次完全备份时候的状态,此时,该Back数据库将处于“正在装载”或“只读”的状态,没有关系,这是正常的,因为我们接下来还需要通过事务日志将该数据库恢复到指定的某个状态。

2.再次打开“还原数据库”窗口,同样选择“从设备”进行还原,然后在“选择设备…”中选定备份所使用的Test-daily.bak文件,回到“还原数据库”窗口,点击“备份号”后面的“查看内容…”按钮,在新的窗口中,可以看到里面列出了每天19:00左右备份过的备份集(除了最顶上一个是我们初次的完全备份集,其它都是每天的增量备份集),选中想要恢复的某个备份集,单击“确定”回到主窗口,可以看到“还原备份集”默认选中的是“差异”,再单击确定,这样,Back数据库就恢复到了我们选定的某个备份集了。

上述还原步骤可以重复进行,直到我们找到确切需要的某个备份集。

另外,恢复后的数据库名称是Back,如果想将其改名为Test,可以执行

EXEC sp_renamedb'Back','Test'

在重命名数据库之前,应该确保没有人使用该数据库,而且数据库设置为单用户模式。

补充:需要在"备份数据库"->"常规"选项卡里选中"重写现有媒体",这样在"选项"选项卡里才能设定"备份集到期时间",并且发现,这样设定好"到期时间"之后,即使将"重写现有媒体"改为"追加到媒体",所设定的"到期时间"还是有效的,这可以在调度里的"步骤"脚本中看出来,如:

BACKUP DATABASE [model] TO DISK= N'D:\test.bak' WITH NOINIT, NOUNLOAD, RETAINDAYS= 1, DIFFERENTIAL, NAME= N'model备份', NOSKIP, STATS= 10, NOFORMAT,通过这种方式应该可以实现保留最近N天的备份,测试中....

增量备份和差异备份的区别

1、含义上的区别

增量备份,是在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。

差异备份,是复制上次全备份以来所有变更数据的一种备份。

2、特性上的区别

增量备份没有重复的备份数据,备份的数据量不大,备份所需的时间很短,备份速度快。同时由于增量备份在做备份前会自动判断备份时间点及文件是否已作改动,所以相对于完全备份其对于节省存储空间也大有益处。

差异备份需要时间短、节省磁盘空间的优势;备份恢复所需磁带少、恢复时间短。系统管理员只需要两盘磁带,即全备份磁带与灾难发生前一天的差异备份磁带,就可以将系统恢复。

扩展资料:

增量备份的原则

1、增量备份下,第一个备份必须是全备份,以一种压缩格式在S3中存储所有块。

2、增量备份下,下一个备份可以是增量的,只存储任何变动的数据块,也存储在S3中。

3、另一个备份可能也是增量的,而且也只是存储前一个增量备份中变动的块。

4、增量备份是分等级的,级别从0开始,一级一级递增,不过实际上用的最多的也就是0级和1级了,0级增量备份是后面级别的增量备份的基础,0级备份实际上就是一个完全备份。

5、量备份分为差异增量备份和积累增量备份两种,差异增量备份,备份的内容是自上一次同级别的差异备份或者是上一次更高级别的备份完成之后的数据库的数据块;而积累增量备份,备份的内容是自上一次上一级增量备份完成以来数据库发生改变的数据块。

参考资料来源:百度百科-增量备份

参考资料来源:百度百科-差异备份

如果你还想了解更多这方面的信息,记得收藏关注本站。

数据库 范式 数据库范式是什么mysql数据库设计规范 急需MySql数据库设计规范