《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(9)

发布时间:2026/8/28 1:18:35

《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(9)
《Microsoft Sql server 2008 Internals》索引目录《Microsoft Sql server 2008 Internals》读书笔记--目录索引■DBCC CHECKED输出DBCC CHECKED用四种方式输出信息◆常规输出由一个错误的信息和邮件组成的列表指向发布DBCC CHECKDB命令的连接。◆SQL Server 错误日志的一条信息◆Windows 应用程序事件日志的一个项。◆在sys.dm_exec_requests目录视图的进度报告信息■常规输出默认DBCC CHECKED输出如下◆服务代理一致性检查的概要◆分配错误的列表加这些错误的计数◆影响到表的地方不能被确定的错误列表加这些错误的计数◆对于每一个数据库中的包括系统目录表行数和页数错误列表及错误的计数。◆分配和一致性错误的概要计数◆必须被定义以修复已报告错误的最小修复级别DBCC CHECKED输出的一个例子如下数据库包含一些破损:DBCC results for CorruptDB.Service Broker Msg 9675, State 1: Message Types analyzed: 14.Service Broker Msg 9676, State 1: Service Contracts analyzed: 6.Service Broker Msg 9667, State 1: Services analyzed: 3.Service Broker Msg 9668, State 1: Service Queues analyzed: 3.Service Broker Msg 9669, State 1: Conversation Endpoints analyzed: 0.Service Broker Msg 9674, State 1: Conversation Groups analyzed: 0.Service Broker Msg 9670, State 1: Remote Service Bindings analyzed: 0.Service Broker Msg 9605, State 1: Conversation Priorities analyzed: 0.Msg 8909, Level 16, State 1, Line 1Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), pageID (1:158) contains an incorrect page ID in its page header. The PageId in the page header (0:0).CHECKDB found 0 allocation errors and 1 consistency errors not associated with any singleobject.DBCC results for sys.sysrscols.There are 637 rows in 8 pages for object sys.sysrscols.DBCC results for sys.sysrowsets.There are 92 rows in 1 pages for object sys.sysrowsets.DBCC results for sys.sysallocunits.There are 104 rows in 2 pages for object sys.sysallocunits.DBCC results for sys.sysfiles1.There are 2 rows in 1 pages for object sys.sysfiles1.DBCC results for sys.syspriorities.There are 0 rows in 0 pages for object sys.syspriorities.DBCC results for sys.sysfgfrag.There are 2 rows in 1 pages for object sys.sysfgfrag.some results removed for brevityDBCC results for sys.syssqlguides.There are 0 rows in 0 pages for object sys.syssqlguides.DBCC results for sys.sysbinsubobjs.There are 3 rows in 1 pages for object sys.sysbinsubobjs.DBCC results for sys.syssoftobjrefs.There are 0 rows in 0 pages for object sys.syssoftobjrefs.DBCC results for sys.queue_messages_1977058079.There are 0 rows in 0 pages for object sys.queue_messages_1977058079.DBCC results for sys.queue_messages_2009058193.There are 0 rows in 0 pages for object sys.queue_messages_2009058193.DBCC results for sys.queue_messages_2041058307.There are 0 rows in 0 pages for object sys.queue_messages_2041058307.DBCC results for sales.Msg 8928, Level 16, State 1, Line 1Object ID 2073058421, index ID 1, partition ID 72057594038386688, alloc unit ID72057594042384384 (type In-row data): Page (1:158) could not be processed. See other errorsfor details.There are 4755 rows in 20 pages for object sales.CHECKDB found 0 allocation errors and 1 consistency errors in table sales (object ID2073058421).DBCC results for sys.filestream_tombstone_2121058592.There are 0 rows in 0 pages for object sys.filestream_tombstone_2121058592.DBCC results for sys.syscommittab.There are 0 rows in 0 pages for object sys.syscommittab.CHECKDB found 0 allocation errors and 2 consistency errors in database CorruptDB.repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB(CorruptDB).DBCC execution completed. If DBCC printed error messages, contact your system administrator.虽然这个输出是全面的但消息是冗余的。在正常操作中涉及破损的重要信息可能会在数据库中。总是建议使用NO_INFOMSGS选项以减少输出仅仅必要的信息。例如这里是来自相同的破损数据库的DBCC CHECKDB输出但NO_INFOMSGS选项被定义Msg 8909, Level 16, State 1, Line 1Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), pageID (1:158) contains an incorrect page ID in its page header. The PageId in the page header (0:0).CHECKDB found 0 allocation errors and 1 consistency errors not associated with any singleobject.Msg 8928, Level 16, State 1, Line 1Object ID 2073058421, index ID 1, partition ID 72057594038386688, alloc unit ID72057594042384384 (type In-row data): Page (1:158) could not be processed. See other errorsfor details.CHECKDB found 0 allocation errors and 1 consistency errors in table sales (object ID2073058421).CHECKDB found 0 allocation errors and 2 consistency errors in database CorruptDB.repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB(CorruptDB).正如你所看到这个输出信息易读性不错。当DBCC CHECKED被在master数据库中执行是一个特例。此时DBCC CHECKED也被运行在隐藏的资源数据库mssqlsystemresource,因此输出结果中包含这两个数据库的结果。如果DBCC CHECKDB因为某种原因提前终止不能被DBCC CHECKDB控制错误5235输出包含一个错误状态。错误状态具有以下含义◆ 一个致命的元数据破损被检测到。一个或更多的8930错误伴随着5235错误。◆ 一个无效的内部状态在DBCC CHECKED内部被检测到。一个或更多的8967错误伴随着5235错误。◆ 对关键系统表中的原始检查失败。一个或更多的7984到7988错误伴随着5235错误。◆ 合并模式因为数据库不能在重建事务日志后不能重启而修复失败。7909错误伴随着5235错误。◆ 一个访问冲突或断言发生即使DBCC CHECKED已经在SQL Server2005中被重新设计以避免这些错误发生◆ 一个未知原因引起DBCC CHECKED终止尽管也可能是graceful.在SQL Server2008中任何时候被BCC CHECKED发现的错误一个故障文件在实例日志目录被创建还有一些格式的错误的文本概要和一个当前SQL Server错误日志文件的副本。如果实例被配置为提供反馈给microsoft这些文件会被自动上传。■SQL Server错误日志输出每次DBCC CHECKED成功完成时一个关于被一致性检查的数据库的项被加到SQL Server错误日志。一个错误例子如下2008-11-03 00:51:11.08 spid56 DBCC CHECKDB (CorruptDB) executed by CHICAGO/Administrator found 2 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0seconds. Internal database snapshot has split point LSN 00000044:00000188:0001 and firstLSN 00000044:00000187:0001. This is an informational message only. No user action isrequired.请注意该项(entry)列出DBCC CHECKDB完成的elapsed时间。这可以使数据库管理员可以获得一些必要的判断信息而不必为特定的数据库诉诸人工计时DBCC CHECKDB的平均运行时间。该项还列出了哪个选项被定义。这对于决定数据库以前是否被修复可能是有用的。该项还列出了DBCC CHECKDB创建的一些有关数据库快照的元数据信息。这对产品支持调试时的破损问题可能是有用的。如果DBCC CHECKDB过早终止一个简单型的项(entry)在错误日志中被输入。如果在存储引擎的高危险性的错误导致DBCC CHECKDB无法控制地终止项不会出现在错误日志中。该错误日志项的生成是DBCC CHECKDB完成时所做的最后的事情之一。这意味着如果发生错误例如终止运行命令的连接DBCC CHECKDB无法生成错误日志项。■应用程序事件日志输出DBCC CHECKED在每次写输出到SQL Server错误日志时生成一个匹配的应用程序事件日志。每次DBCC CHECKED成功完成时一个项被加到应用程序事件日志标明错误被发现我修复的序号一个例子如下如果错误被DBCC CHECKED发现在包含错误报告的故障文件的元数据的事件日志中可能有三个附加的项。在DBCC CHECKED决定提前终止的事件中一个简单的项输入到事件日志。如果SQL Server错误日志项没被生成那是因为DBCC CHECKED不受控制地终止应用程序事件日志项也不生成。■进度报告输出DBCC CHECKEDDBCC CHECKTABLEDBCC CHECKFILEGROUP都在sys.dm_exec_requests目录视图中报告它们的进度。相关的两个列是percent_complete(自我解释)和command当前DBCC命令被执行的执行阶段下表展示了执行的顺序注意并没有针对原始的系统表检查的阶段被报告。这个阶段运行得很快以至于在SQL Server 2005中的进度报告被加到DBCC CHECKED时开发小组不认为有必要包括一个隔离的进度报告阶段。对于DBCC CHECKTABLE下列阶段被报告◆DBCC TABLE CHECK◆DBCC IVIEW CHECK如果上一步未发现错误◆DBCC TABLE REPAIR如果发现一个错误并且一个修复选项被定义对于DBCC CHECKFILEGROUP下列阶段被报告◆DBCC ALLOC CHECK◆DBCC SYS CHECK◆DBCC TABLE CHECK注意DBCC CHECKFILEGROUP不支持修复操作。下篇将关注DBCC CHECKDB选项邀月注本文版权由邀月和CSDN共同所有转载请注明出处。助人等于自助! 3wlive.cn

相关新闻

Ubuntu 安装 sqlite3、postgresql

Ubuntu 安装 sqlite3、postgresql

2026/8/28 1:18:35

navicat 官网:http://www.navicat.com.cn/products keygen:https://gitlab.com/ajiajishu/navicat-keygen-16V Xmanager :https://www.xshellcn.com/ 1、Ubuntu 安装 sqlite3 ubuntu 下安装 sqlite3 直接在终端运行命令:#apt-get …

数学建模竞赛实战:基于信息熵的Wordle求解策略与可视化分析

数学建模竞赛实战:基于信息熵的Wordle求解策略与可视化分析

2026/8/28 1:18:35

1. 从“思路”到“成品”:一次完整的数模竞赛解题复盘去年带队参加美赛,我们组选的正是C题。说实话,拿到题目那一刻,看到“Wordle”这个关键词,心里是既兴奋又没底。兴奋的是,这不像一些纯理论题那么抽象&a…

Python自动化运维:分享高性能可扩展的实用框架

Python自动化运维:分享高性能可扩展的实用框架

2026/8/28 1:08:35

有一直在用写各种各样的脚本, 想要去做自动化运维平台, 然而却有心而无力, 没有见过大型的运维平台是怎样去做的。自己所撰写的脚本, 于大的场景当中, 究竟是否靠谱呢, 每当针对一些鉴于ssh来获取数据并执行相关操作的方式开启讨论之时, 总是会遭受到鄙视。足足迷茫了大半年之久…

MATLAB假设检验实战:从T检验到非参数方法,数模竞赛数据分析核心技能

MATLAB假设检验实战:从T检验到非参数方法,数模竞赛数据分析核心技能

2026/8/28 2:28:38

1. 从“假设”到“结论”:为什么假设检验是数模的灵魂在数学建模竞赛或者任何数据分析项目中,我们常常会面对一个核心困境:你基于数据或模型得出了一个结论,比如“新工艺比旧工艺的成品率更高”,或者“城市A的PM2.5年均…

蓝桥杯Scratch国赛真题剖析:从算法思维到调试优化的实战指南

蓝桥杯Scratch国赛真题剖析:从算法思维到调试优化的实战指南

2026/8/28 2:28:38

1. 项目概述:从一场国赛真题说起如果你是一位Scratch编程的爱好者、指导老师,或者正在备战蓝桥杯这类编程赛事的学生,那么“真题剖析”这四个字对你来说,价值可能远超一本普通的教程。今天要聊的,就是2022年5月29日那场…

BLE MCU多协议射频与NFC选型实战:从天线设计到低功耗应用

BLE MCU多协议射频与NFC选型实战:从天线设计到低功耗应用

2026/8/28 2:28:38

做嵌入式这几年,我经常遇到一种看似很简单的需求:设备要连手机,用BLE;但用户又希望手机没电或者不想打开App的时候,靠"碰一碰"也能读到设备的身份信息或者触发某个功能。以前的标准做法是加一颗独立NFC芯片&…

AI资源配额治理实践:BitTime如何约束Agent行为与成本

AI资源配额治理实践:BitTime如何约束Agent行为与成本

2026/8/28 2:28:38

之前在团队里做 AI Agent 与模型网关相关项目时,一直被一个问题困扰:模型能力的边界在快速扩展,但调用侧的“约束机制”却还停留在余额、账单、接口限流这些传统手段上。大模型 API 越来越便宜,反而让业务方更敢放开用量&#xff…

大模型开发实战:DeepSeek与Kimi的API接入、IDE集成与本地部署指南

大模型开发实战:DeepSeek与Kimi的API接入、IDE集成与本地部署指南

2026/8/28 2:28:38

最近 DeepSeek 和 Kimi 的热度,已经不只是“新闻里的大模型”了。据公开报道,DeepSeek 的估值被市场看到 5000 亿元区间,Kimi 背后的月之暗面也频繁出现在融资讨论中;而在开发者生态里,这种“抢”更加直接——抢 API 额…

Qwen3-Embedding上TPU:16K长上下文怎么稳住

Qwen3-Embedding上TPU:16K长上下文怎么稳住

2026/8/28 2:18:38

Embedding 服务最容易被低估的性能问题,不是单条文本有多快。 而是: 输入突然从1K tokens 变成15K tokens以后, 系统还能不能稳定批处理?Google 8月26日公开了 vLLM 在 Cloud TPU 上服务 Qwen3 Embedding 系列的一组工程实现。目标…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

基于Claude Code的开源AI求职框架:从职位搜索到Offer的全自动化闭环

基于Claude Code的开源AI求职框架:从职位搜索到Offer的全自动化闭环

2026/8/28 0:08:32

当AI助手能够独立完成从职位匹配、简历定制到面试准备的全链路求职流程时,求职不再是一场信息战,而是一场工程化战役。框架概述:本地运行的AI求职引擎这是一个构建在Claude Code之上的开源AI求职框架,核心理念是"在工作者的机…

Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复

Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复

2026/8/28 0:08:32

1. 问题现象 在 Godot 4 仿 agar.io 的 2D 项目中,相机缩放设计为「由球组整体尺寸决定」,世界可见高度恒定,窗口只作为视口裁剪。默认小窗口 1280x720 时相机高度正常;但窗口最大化到 2940x1912 后,视角被明显拉远、…

从软件测试大赛到实战:Java+Selenium自动化测试进阶指南

从软件测试大赛到实战:Java+Selenium自动化测试进阶指南

2026/8/28 0:08:32

1. 缘起:从校园到赛场,我的软件测试之路几年前,我还是一个在校园里对着Java课本和“Hello World”程序挠头的普通学生。软件测试对我来说,只是一个在开发流程末尾、用鼠标点点按钮的模糊概念。直到我偶然在学校的公告栏上看到了“…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…