iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >数据库完整性检查
  • 150
分享到

数据库完整性检查

2024-04-02 19:04:59 150人浏览 独家记忆
摘要

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

为了主动发现数据库侧页损坏,保证数据库逻辑和物理完整性,计划每周六上午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/

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


您可能感兴趣的文档:

--结束END--

本文标题: 数据库完整性检查

本文链接: https://www.lsjlt.com/news/45457.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 关系数据库的完整性约束:实体完整性、参照完整性、用户自定义完整性
    关系模型的三种完整性约束是实体完整性、参照完整性和用户定义完整性。 文章目录 关系模型的三种完整性约束是实体完整性、参照完整性和用户定义完整性。实体完整性参照完整性用户自定义完整性 ...
    99+
    2023-10-03
    mysql sql
  • SQL server数据库中数据完整性的分析
    小编给大家分享一下SQL server数据库中数据完整性的分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!存储在数据库中的所有...
    99+
    2024-04-02
  • 数据守护神:确保数据库的完整性
    在现代数据驱动型世界中,数据库是企业赖以生存的关键资产。因此,维护数据库的完整性和一致性至关重要,以确保数据的准确性和可靠性。以下是一些最佳实践,可帮助您担任数据库的“守护神”,确保其免受数据错误和不一致的影响: 数据验证 数据验证是确...
    99+
    2024-03-07
    数据库完整性、数据验证、约束条件、索引、触发器
  • 如何检查ONNX模型的完整性和正确性
    检查ONNX模型的完整性和正确性通常需要进行以下步骤: 使用ONNX官方提供的工具或者第三方工具对模型文件进行加载和解析,确保模...
    99+
    2024-04-02
  • Springboot连接数据库及查询数据完整流程
    Springboot连接数据库 第一步 springboot继承Mybatis及数据库连接依赖(上一篇文章已经记录 )  第二步 resources -> app...
    99+
    2024-04-02
  • 数据库卫士:保护数据的完整性和准确性
    在数据驱动的现代世界中,数据完整性和准确性至关重要。数据库卫士扮演着至关重要的角色,通过实施一系列策略和实践来保护数据的完整性和准确性。 保护数据完整性的策略 数据验证:在数据输入时进行验证以确保其完整性,例如使用数据类型检查、范围检查...
    99+
    2024-04-02
  • 三种数据库完整性约束介绍
    今天小编给大家分享的是三种数据库完整性约束介绍,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。数据库的三种完整性约束:1、实体完整性,对关系中的记录唯...
    99+
    2024-04-02
  • Oracle数据库完整卸载的完整步骤
    目录1、停止所有oracle服务2、打开Universal Installer工具运行卸载Oracle数据库程序3. 删除注册表中Oracle相关信息4、删除Oracle相关环境变量5、 删除全部与Oracle相关的目录...
    99+
    2023-03-14
    oracle数据库卸载干净 彻底卸载oracle 如何彻底卸载数据库
  • 数据库范式:确保数据完整性的万灵药
    简介 数据库范范式是一组规则,指导如何结构化数据库中的数据。它定义了表的结构和关系,以避免数据异常和数据丢失。范式有不同的级别,每种级别都有自己的一组规则。 范式级别 第一范式(1NF) 每个表中的每一行都必须唯一。 每个列都必须包含原...
    99+
    2024-03-07
    数据库范式 数据完整性 范式级别 范式规则
  • 数据库实验三:完整性语言实验
    实验三 完整性语言实验 实验 3.1 实体完整性实验 1.实验目的 ​ 掌握实体完整性的定义和维护方法。 2.实验内容和要求 ​ 定义实体完整性,删除实体完整性。能够写出两种方式定义实体完整性的SQL...
    99+
    2023-10-22
    数据库 sql mysql
  • 数据卫士:守护数据库的完整性免受损坏
    数据完整性的重要性 数据完整性是指数据库中数据保持准确、完整和一致的状态。它对于企业的顺利运营至关重要,因为数据是各种业务决策的基础。 数据损坏可能是由多种原因造成的,包括硬件故障、软件错误、网络攻击或人为错误。一旦数据损坏,可能会导致...
    99+
    2024-03-07
    数据完整性、数据库损坏、数据卫士、数据修复
  • 数据库高并发请求怎么保证数据完整性
    小编给大家分享一下数据库高并发请求怎么保证数据完整性,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!存储引擎查看MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.6.4,可...
    99+
    2024-04-02
  • 数据库字段限制:如何确保数据完整性和准确性
    数据完整性和准确性对于数据库管理至关重要。不完整或不准确的数据会损害决策制定、运营效率和客户信任。 方法 1. 数据类型和长度限制 为列指定适当的数据类型(例如,整数、浮点数、字符串)。 设定字段长度限制以防止溢出或截断。 2. 默认...
    99+
    2024-03-12
    前言
  • 数据库字段约束详解:确保数据准确性和完整性
    1. 主键约束 主键约束用于确保表中每一行的唯一性,它可以是单列或多列的组合。主键约束的优点是: 确保表中每一行的唯一性,防止出现重复数据。 可以加快数据检索的速度,因为主键通常被用作索引键。 可以帮助维护数据的一致性,因为主键通常用...
    99+
    2024-02-14
    数据库 约束 主键 外键 非空 唯一 默认值 检查
  • 数据库日志的最佳实践:保障数据完整性和性能
    明确日志级别和内容 定义日志级别,如错误、警告、信息和调试,以记录不同严重程度的事件。 确定要记录的事件,包括数据库连接、查询执行、错误和性能问题。 选择适当的日志格式 JSON 和 XML 等结构化格式便于解析和检索,但可能会增加...
    99+
    2024-04-02
  • 数据库字段的最佳实践:确保数据完整性、准确性和性能
    使用数据类型限制:为每个字段指定适当的数据类型(如整数、字符串、日期等),以防止非法值的插入。 设置主键和外键:为主键字段定义唯一约束,并为外键字段定义引用完整性约束,以确保记录之间的关系一致性。 使用非空约束:指定允许空值的字段,有助...
    99+
    2024-03-12
    数据完整性
  • 数据库中sql完整性约束的示例分析
    小编给大家分享一下数据库中sql完整性约束的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!完整性约束  完整性约束是为了...
    99+
    2024-04-02
  • MongoDB如何确保数据完整性
    MongoDB通过以下几种方式来确保数据的完整性: 数据验证规则:MongoDB支持在集合级别设置数据验证规则,可以定义数据的结...
    99+
    2024-05-07
    MongoDB
  • Oracle数据库如何完整卸载
    这篇文章主要讲解了“Oracle数据库如何完整卸载”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle数据库如何完整卸载”吧!1、停止所有Oracle...
    99+
    2023-03-20
    oracle
  • 数据库设计的完整性约束表现有哪些
    这篇文章主要介绍“数据库设计的完整性约束表现有哪些”,在日常操作中,相信很多人在数据库设计的完整性约束表现有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库设计的完整...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作