我一直在阅读Paul Randal 撰写的关于 SQL Server 备份过程的博客文章,其中概述了完整备份的主要阶段。他提到的一点是,在完整备份期间,进程会读取“所有分配的盘区,无论该盘区中的所有 8 个页面是否都在使用中”。
完整备份有以下主要阶段:
- 执行检查点。
- 从数据文件中读取所有正在使用的数据(从技术上讲,读取所有分配的盘区,无论盘区中的所有 8 个页面是否都在使用)。
- 读取从初始检查点最旧的未提交事务开始到第 2 阶段完成的时间的所有事务日志。这是必要的,以便数据库可以在恢复过程中恢复到一致的时间点(有关更多详细信息,请参阅这篇文章)。
- (可选地测试所有页面校验和,可选地执行备份压缩,并且可选地执行备份加密)。
这个说法让我想知道到底备份了什么内容。具体来说,备份过程是否包括所有分配的扩展区,即使这些扩展区中的所有页面并未都在使用中?
如果您对此主题有任何见解或澄清,我将不胜感激。预先感谢您的帮助!