黑帽联盟

 找回密码
 会员注册
查看: 1820|回复: 0
打印 上一主题 下一主题

[其它] 数据库选项--页面检查

[复制链接]

895

主题

38

听众

3323

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    6 天前
  • 签到天数: 1644 天

    [LV.Master]伴坛终老

    语法: ALTER DatabaseName SET PAGE_VIRRIFY {CHECKSUM | TORN_PAGE_DETECTION | NONE}

    CHECKSUM
    在向磁盘中写入页面时,计算整个页面的校验并将该值存储在页眉中。在读取页面时重新计算校验和与页眉的值进行比较, 如果两个值不匹配,将同时在 SQL Server 错误日志和 Windows 事件日志中报告错误消息 824(指示校验和失败)。 校验和失败指示存在 I/O 路径问题。 若要确定其根本原因,需要调查硬件、固件驱动程序、BIOS、筛选器驱动程序(如防病毒软件)和其他 I/O 路径组件。

    TORN_PAGE_DETECTION
    将页面写入磁盘时,将每个 512 字节扇区的特定 2 位模式保存在 8 KB 数据库页面中并存储在数据库页头中。 从磁盘中读取页时,页头中存储的残缺位将与实际的页扇区信息进行比较。 如果值不匹配,表明只有页面的一部分被写入磁盘。 在这种情况下,将同时在 SQL Server 错误日志和 Windows 事件日志中报告错误消息 824(指示页撕裂错误)。 如果页面写入确实不完整,则数据库恢复通常会检测到页撕裂。 不过,其他 I/O 路径故障可能随时导致页撕裂。

    NONE
    数据库页面写入不会生成 CHECKSUM 或 TORN_PAGE_DETECTION 值。 在读取过程中,即使页头中存在 CHECKSUM 或 TORN_PAGE_DETECTION 值,SQL Server 也不会验证校验和或页撕裂。

    SQL Server 将对因校验和、页撕裂或其他 I/O 错误而失败的任何读取都重试四次。 如果在其中一次重试中读取成功,则会向错误日志中写入一条消息,且触发读取的命令将继续执行。 如果重试失败,则该命令失败,且显示错误消息 824。
    在SQL Server 2005或更高版本中默认使用CHECKSUM。

    TORN_PAGE_DETECTION使用的资源较少,而CHECKSUM提供更多保护

    无需使数据库脱机、锁定数据库或以其他方式阻止对数据库的并发访问,即可设置 PAGE_VERIFY。



    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部