编者注: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中国
作者
微软的高级数据库管理员和专家,具有15年以上的数据经验。同时是《SQL Server》杂志的撰稿人,并合著《Pro SQL Server 2008 Mirroring》一书。
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
横向扩展SQL Server应用程序:提高工作负载的选项
SQL Server管理员面临的最大挑战之一就是扩展数据库以适应更为繁重的数据处理工作负载。然而事情越发复杂的是,虽然Microsoft提供了许多不同的SQL Server可扩展性选项,但它们并不都适合于每种情况。
-
五大技巧构建首个SQL Server容器
容器的世界庞大而复杂,使用者可能会感到困扰,这里我们将列出一些示例,以便引导您顺利完成SQL Server容器的创建和管理。