SQL Server误区30日谈-Day16-数据的损坏和修复
2012-12-24 16:29
267 查看
本系列文章是我在sqlskill.com的PAUL的博客看到的,很多误区都比较具有典型性和代表性,原文来自T-SQL Tuesday #11: Misconceptions about.... EVERYTHING!!,经过我们团队的翻译和整理发布在AgileSharp上。希望对大家有所帮助。
误区 #16:多个关于数据的损坏和修复误区
坊间流传的很多版本都不正确
我已经听过很多关于数据修复可以做什么、不可以做什么、什么会导致数据损坏以及损坏是否可以自行消失。其实我已经针对这类问题写过多篇博文,因此本篇博文可以作为“流言终结者”来做一个总结,希望你能有收获。
首先,对于数据修复可以做什么,不可以做什么,我已经写过一篇博文Misconceptions around database repair涵盖了13个误区—从不用DBCC CHECKDB是否能修复错误(当然不能)到REPAIR_ALLOW_DATA_LOSS是否会引起数据丢失(这个名字的确很让人迷惑)。
其次,很多人抱怨说DBCC CHECKDB第一次运行时显示的错误在第二次运行时会自行消失。这很好解释:第一次由DBCC CHECKDB检测出的错误页已经不属于页分配集了,因此在第二次运行DBCC时就显示不出来了。我有一篇博文对此进行了详细的解释:Misconceptions around corruptions: can they disappear?。
还有一个传的很广泛的流言是,运行时间长的操作(比如索引重建,大容量数据插入,数据库或文件的收缩)会导致页损坏。其实不然,除非SQL Server存在BUG的情况下(非常罕见)。没有任何T-SQL语句会导致数据出错。我几年前写过一篇文章对此进行了详细的解释:Search Engine Q&A #26: Myths around causing corruption。
希望这篇文章对澄清这个概念有帮助
误区 #16:多个关于数据的损坏和修复误区
坊间流传的很多版本都不正确
我已经听过很多关于数据修复可以做什么、不可以做什么、什么会导致数据损坏以及损坏是否可以自行消失。其实我已经针对这类问题写过多篇博文,因此本篇博文可以作为“流言终结者”来做一个总结,希望你能有收获。
首先,对于数据修复可以做什么,不可以做什么,我已经写过一篇博文Misconceptions around database repair涵盖了13个误区—从不用DBCC CHECKDB是否能修复错误(当然不能)到REPAIR_ALLOW_DATA_LOSS是否会引起数据丢失(这个名字的确很让人迷惑)。
其次,很多人抱怨说DBCC CHECKDB第一次运行时显示的错误在第二次运行时会自行消失。这很好解释:第一次由DBCC CHECKDB检测出的错误页已经不属于页分配集了,因此在第二次运行DBCC时就显示不出来了。我有一篇博文对此进行了详细的解释:Misconceptions around corruptions: can they disappear?。
还有一个传的很广泛的流言是,运行时间长的操作(比如索引重建,大容量数据插入,数据库或文件的收缩)会导致页损坏。其实不然,除非SQL Server存在BUG的情况下(非常罕见)。没有任何T-SQL语句会导致数据出错。我几年前写过一篇文章对此进行了详细的解释:Search Engine Q&A #26: Myths around causing corruption。
希望这篇文章对澄清这个概念有帮助
相关文章推荐
- SQL Server误区30日谈-Day21-数据损坏可以通过重启SQL Server来修复
- SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
- SQL Server误区30日谈 第16天 数据的损坏和修复
- SQL Server误区30日谈 第16天 数据的损坏和修复
- SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
- sql server 数据库修复,mdf 损坏 修复 直接从物理文件 抽取数据 生成新的数据库
- SQL Server误区30日谈-Day19-Truncate表的操作不会被记录到日志
- 修复损坏的VSS数据文件
- SQL Server误区30日谈 第28天 有关大容量事务日志恢复模式的误区
- SQL Server误区30日谈 第12天 TempDB的文件数和需要和CPU数目保持一致
- SQL Server误区30日谈 第7天 一个实例多个镜像和日志传送延迟
- SQL Server误区30日谈 第19天 Truncate表的操作不会被记录到日志
- SQL SERVER损坏文件的修复工具
- SQL 日记文件LDF丢失 或 损坏,只有单独数据文件MDF的修复方法
- SQL Server误区30日谈-Day30-有关备份的30个误区
- SQL Server误区30日谈 第27天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB
- SQL Server误区30日谈 第11天 镜像在检测到故障后瞬间就能故障转移
- SQL Server误区30日谈 第8天 有关对索引进行在线操作的误区
- SQL Server误区30日谈 第20天 破坏日志备份链之后,需要一个完整备份来重新开始日志链
- SQL Server误区30日谈 第26天 SQL Server中存在真正的“事务嵌套”