DBA 五大致命失误:页校验被禁用了吗?

日期: 2015-09-23 作者:Robert L Davis翻译:Shirley Xie 来源:TechTarget中国

编者注:Robert L Davis是微软的高级数据库管理员和专家,同时是《SQL Server》杂志的撰稿人,并合著《Pro SQL Server 2008 Mirroring》一书。

继上文《DBA五大致命失误:数据损坏了,你知道不知道》,我们今天来说说另一个致命失误。

SQL Server提供了一项用来检测数据损坏、非常关键的内置功能,叫做“页校”(page verification)。当你运行查询语句,出现烦人的损坏警报时,正是页校验检测到了损坏。最重要的是,最好把页校验选项设置为新数据库的默认选项。你不需要做任何事情就可以用这个选项保护数据库。

页校验和也就是我之前提到过的在备份和恢复中使用CHECKSUM进行的额外检测(具体阅读《DBA 五大致命失误:你的备份可靠吗?》)。启用该选项,SQL Server会计算整个页面的校验和,把这个值存于页头。当页被读取到内存时,SQL Server会再次计算校验和,和页头存储的校验和进行比较。如果两个校验和不一致,SQL Server就会认为该页被损坏,出现错误824的警报。如果校验和存储在页头,用CHECKSUM选项检测任何被校验和保护的的数据页是否存在损坏,SQL Server会在备份和恢复期间进行计算。

在SQL Server的数据库级别,可以设置页保护类型,页校验一共有三个选项:CheckSum,Torn Page Detection和None。使用这些选项所花费的功夫可能看似微不足道,但如果不使用这些选项可能会对数据库造成灾难性的影响。只有从SQL Server 2000或更早版本进行升级时,你才需要查看一下选项设置,以确保启用了页验证来保护数据库。最好是选择CHECKSUM作为页校验选项,这也是SQL Server 2005及以后版本的默认选项。SQL Server 2000的默认选项Torn Page Detection;在此之前,你无法配置页校验。换而言之,NONE从来都不是页校验的默认选项。如果你的数据库禁用页校验,那一定是有人更改了设置。

我认为,如果DBA把页校验选项选择为NONE,这要不就是故意破坏,要不就是水平太低。无论是何种情况,这名DBA都不应允许管理SQL Server。这个错误能够并且应该让你被炒鱿鱼,因为这是故意的行为。

请继续阅读下文《DBA五大致命失误:你给谁开通了啥权限?》

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Robert L Davis
Robert L Davis

微软的高级数据库管理员和专家,具有15年以上的数据经验。同时是《SQL Server》杂志的撰稿人,并合著《Pro SQL Server 2008 Mirroring》一书。

相关推荐