我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库完整性检查

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库完整性检查

为了主动发现数据库侧页损坏,保证数据库逻辑和物理完整性,计划每周六上午6点,针对生产主库上的所有系统和用户数据库执行DBCC CHECKDB,将结果记录到表中。


以下为理论依据:


SQL Server数据库可以检测出页损坏,此时,具体的表现形式可能为下述三种错误的一种:

  • 823错误,也就是所谓的硬IO错误,可以理解为SQL Server希望读取页,而Windows告诉SQL Server,无法读取到该页。

  • 824错误,也就是所谓的软IO错误,可以理解为SQL Server已经读取到该页,但通过计算CheckSum等值发现不匹配,因此SQL Server认为该页已经被损坏。

  • 825错误,也就是所谓Retry错误。


SQL Server发现错误的方法有两种,分别为在读取页时和在备份时(本质上也是读取页)。但如果我们希望对于数据一致性的检查更加的全面,那我们应该定期使用CheckDB来检查数据的一致性,而不至于在生产时间数据被读取时才能发现错误。


CheckDB命令在企业版中会使用多线程来进行,会对整个数据库进行一致性检查,在该过程中,使用了内建数据库快照的方式进行,因此不会造成阻塞,但CheckDB会消耗大量的CPU、内存和IO。因此CheckDB要选择在维护窗口时间或是系统闲时进行。


实际上,CheckDB是一套命令的汇总,通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性:

  • 初次检查系统表

  • 分配单元检查(DBCC CHECKALLOC)

  • 完整检查系统表

  • 对所有表进行一致性逻辑检查(DBCC CHECKTABLE)

  • 元数据检查(DBCC CHECKCATALOG)

  • SSB检查

  • 索引视图、XML索引等检查


微软最佳实践建议


“建议您使用 PHYSICAL_ONLY 选项,以便可以频繁检查生产系统。 使用 PHYSICAL_ONLY 可以极大地缩短对大型数据库运行 DBCC CHECKDB 的运行时间。 同时建议您定期运行没有选项的 DBCC CHECKDB。 应当以什么频率执行这些运行任务将取决于各个企业及其生产环境。

”引用自:

https://docs.microsoft.com/zh-cn/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql


成熟的方案


可以使用 https://ola.hallengren.com/

实现备份、完整性检查、索引和统计信息维护整套方案。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库完整性检查

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

递归查询在数据备份验证中的完整性检查

递归查询是一种在数据结构(如文件系统、目录和子目录)中查找特定信息的方法备份文件的存在:递归查询可以确保所有需要备份的文件都已被包含在备份中。这可以通过比较源文件和备份文件的路径和名称来实现。文件内容的一致性:递归查询可以检查备份文件的内容
递归查询在数据备份验证中的完整性检查
2024-09-08

数据的完整性

10.1什么是数据完整性作用:保证 用户的输入的数据 保存到数据库 是正确的比如:年龄:应该是数字,学号:应该是不重复的成绩:不能为空。 。 。怎么去保证数据的完整性:添加约束。完整性约束分类:实体(记录)完整性域完整性、引用完整性10.2实体完整性(行)实体
数据的完整性
2019-06-01

关系数据库中有几种数据完整性?

数据完整性数据完整性=可靠性+准确性 *** ①数据存放在表中 ②数据完整性的问题大多是由设计引起 ③创建表的时候,就应当保证以后数据输入时正确的, 加约束 ----错误的数据、不符合要求的数据不允许输入 四种完整性约束①域完整性: ---
关系数据库中有几种数据完整性?
2016-03-31

MySQL INSERT锁与数据库数据备份的完整性

在MySQL中,INSERT操作会加锁以确保数据的完整性。当一个INSERT操作执行时,MySQL会在表级别加上一个写锁,阻止其他会修改表结构或数据的操作,例如UPDATE、DELETE、ALTER TABLE等。这样可以保证数据的一致性和
MySQL INSERT锁与数据库数据备份的完整性
2024-08-13

MySQL数据库:数据完整性及约束的应用

数据完整性1.域完整性:---------匹配完整性:非空、缺省字段/列2.实体完整性:-------匹配完整性:主键、唯一键记录/行3.引用完整性:-------匹配完整性:外键表与表之间约束:constraintMySQL中的约束分类主键:primary
2019-01-16

Oracle数据库完整卸载的完整步骤

目录1、停止所有oracle服务2、打开Universal Installer工具运行卸载Oracle数据库程序3. 删除注册表中Oracle相关android信息4、删除Oracle相关环境变量5、 删除全部与Oracle相关的目录总结1
2023-03-14

编程热搜

目录