系统视图sys.columns和系统视图sys.indexes 表错误修复
发布时间:2026/2/4 16:17:47 作者:Admin 阅读:5
广告:
请检查目录消息 3853,状态 1: sys.columns 中的行(object_id=1491326035,column_id=16)的属性(object_id=1491326035)在 sys.objects 中没有匹配的行(object_id=1491326035)。
消息 8992,级别 16,状态 1,第 1 行
请检查目录消息 3853,状态 1: sys.indexes 中的行(object_id=1491326035,index_id=1)的属性(object_id=1491326035)在 sys.objects 中没有匹配的行(object_id=1491326035)。
消息 8992,级别 16,状态 1,第 1 行
请检查目录消息 3855,状态 1: 属性(data_space_id=1)存在,但 sys.indexes 中没有行(object_id=1491326035,index_id=1)。
消息 8992,级别 16,状态 1,第 1 行
请检查目录消息 3853,状态 1: sys.stats 中的行(object_id=1491326035,stats_id=2)的属性(object_id=1491326035)在 sys.objects 中没有匹配的行(object_id=1491326035)。
消息 8992,级别 16,状态 1,第 1 行
请检查目录消息 3852,状态 1: sys.objects (type=U ) 中的行(object_id=1771659017)在 sys.columns 中没有匹配的行(object_id=1771659017,column_id=1)。
SQL Server 2008 的 sys.columns 系统视图主要对应底层隐藏的系统基表 sys.syscolpars(以及相关的 sys.sysschobjs 用于对象关联)。它是基于目录视图 sys.all_columns 定义的,用于显示所有表、视图等对象的列信息,反映了现代基于 SQL 语句优化的对象存储结构
物理基表: sys.syscolpars 是存储列数据的真实基表,包含物理和逻辑属性。
对象关联表: sys.sysschobjs 负责管理包括表、列、索引在内的对象元数据
sys.sysschobjs (物理表): 存储了所有数据库对象的元数据,通过 id 与 sys.syscolpars 关联,确定列属于哪个表或视图。
视图层: sys.columns 实际上是 sys.all_columns 的子集(通常仅包含用户定义对象),直接基于这些物理元数据生成
此外,该视图还关联 sys.types 来解析列的数据类型
SQL Server 中的系统视图 sys.indexes 并不直接对应某一个物理基表,而是通过组合底层系统表(即内部元数据表)的信息动态生成。它主要对应以下系统基表的数据:
sys.sysidxstats:存储每个数据库中所有表和索引视图的索引或统计信息。
sys.sysiscols:存储持久化索引和统计信息的列信息
这是一篇受密码保护的文章,请输入密码进行访问:
广告:
相关文章


