加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 从备份恢复SQL数据库是否重建其索引?

发布时间:2020-12-12 16:55:32 所属栏目:MsSql教程 来源:网络整理
导读:从备份还原SQL数据库是否从头开始重建其表和索引?或者它是否与备份时的内部物理顺序保持一致? 我们正在使用SQL 2000和Quest Lightspeed压缩备份,如果这有任何区别的话. 解决方法 答案是否定的,无论使用何种备份软件. 备份是物理操作,而不是逻辑操作.它读取
从备份还原SQL数据库是否从头开始重建其表和索引?或者它是否与备份时的内部物理顺序保持一致?

我们正在使用SQL 2000和Quest Lightspeed压缩备份,如果这有任何区别的话.

解决方法

答案是否定的,无论使用何种备份软件.

备份是物理操作,而不是逻辑操作.它读取包含已分配页面的所有扩展区(即,即使只分配了8页扩展区中的单个页面,它也将备份整个64K扩展区),并且它按物理顺序执行.

还原是物理操作,而不是逻辑操作.它规定了数据文件中合法位置的范围.

重建索引(或类似的东西)是一个逻辑操作,必须记录.备份和还原直接操作数据文件,而无需通过缓冲池,这是无法完成此操作的一个原因.无法做到的另一个原因是备份和恢复不了解正在备份的数据中包含的内容.

然而,这无法做到的主要原因是在恢复操作期间移动页面会破坏b树指针.如果页面A指向页面B,但页面A由还原过程移动,页面B如何更新为指向页面A?如果它立即更新,则可能会被其余的恢复过程覆盖.如果延迟更新,如果还原过程还原了一些删除了页面A或页面B的事务日志,该怎么办?它根本无法完成.

底线 – 备份和恢复是永不改变数据的物理操作.

希望这可以帮助!

PS虽然它没有直接解决这个问题,但请查看我为7月TechNet杂志撰写的文章,该文章解释了各种备份如何在内部工作:Understanding SQL Server Backups.9月杂志将有关于理解恢复的系列文章的下一篇.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读