系统表 sys.syscolumns、sys.sysobjects 和 sys.indexes 的字段含义

syscolumns
每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。

列名 数据类型 描述
name sysname 列名或过程参数的名称。
id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。
xtype tinyint systypes 中的物理存储类型。
typestat tinyint 仅限内部使用。
xusertype smallint 扩展的用户定义数据类型 ID。
length smallint systypes 中的最大物理存储长度。
xprec tinyint 仅限内部使用。
xscale tinyint 仅限内部使用。
colid smallint 列或参数 ID。
xoffset smallint 仅限内部使用。
bitpos tinyint 仅限内部使用。
reserved tinyint 仅限内部使用。
colstat smallint 仅限内部使用。
cdefault int 该列的默认值 ID。
domain int 该列的规则或 CHECK 约束 ID。
number smallint 过程分组时(0 表示非过程项)的子过程号。
colorder smallint 仅限内部使用。
autoval varbinary(255) 仅限内部使用。
offset smallint 该列所在行的偏移量;如果为负,表示可变长度行。
status tinyint 用于描述列或参数属性的位图: 0x08 = 列允许空值。 0x10 = 当添加 varcharvarbinary 列时,ANSI 填充生效。保留 varchar 列的尾随空格,保留 varbinary 列的尾随零。 0x40 = 参数为 OUTPUT 参数。 0x80 = 列为标识列。
type tinyint systypes 中的物理存储类型。
usertype smallint systypes 中的用户定义数据类型 ID。
printfmt varchar(255) 仅限内部使用。
prec smallint 该列的精度级别。
scale int 该列的小数位数。
iscomputed int 表示是否已计算该列的标志: 0 = 未计算。 1 = 已计算。
isoutparam int 表示该过程参数是否是输出参数: 1 = 真。 0 = 假。
isnullable int 表示该列是否允许空值: 1 = 真。 0 = 假。

sysobjects
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。

列名 数据类型 描述
name sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程
uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_ ver int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_ ver int 保留。仅限内部使用。
type char(2) 对象类型。可以是下列值之一: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 FN = 标量函数 IF = 内嵌表函数 K = PRIMARY KEY 或 UNIQUE 约束 L = 日志 P = 存储过程 R = 规则 RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 V = 视图 X = 扩展存储过程
userstat smallint 保留。
sysstat smallint 内部状态信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于发布、约束和标识。
cache smallint 保留。

sys.indexes (Transact-SQL)


Column name


Data type


Description


object_id


int


ID of the object to which this index belongs.


name


sysname


Name of the index. name is unique only within the object.

NULL = Heap


index_id


int


ID of the index. index_id is unique only within the object.

0 = Heap

1 = Clustered index

> 1 = Nonclustered index


type


tinyint


Type of index:


0 = Heap


1 = Clustered


2 = Nonclustered


3 = XML

 

4 = Spatial


5 = Clustered columnstore index


Applies to: SQL Server 2014 through SQL Server 2016.


6 = Nonclustered columnstore index


Applies to: SQL Server 2012 through SQL Server 2016.


7 = Nonclustered hash index


Applies to: SQL Server 2014 through SQL Server 2016.


type_desc


nvarchar(60)


Description of index type:


HEAP

 

CLUSTERED

 

NONCLUSTERED

 

XML

 

SPATIAL

 

CLUSTERED COLUMNSTORE


Applies to: SQL Server 2014 through SQL Server 2016.


NONCLUSTERED COLUMNSTORE


Applies to: SQL Server 2012 through SQL Server 2016.


NONCLUSTERED HASH


NONCLUSTERED HASH indexes are supported only on memory-optimized tables. The sys.hash_indexes view shows the current hash indexes and the hash properties. For more information, see sys.hash_indexes (Transact-SQL).

Applies to: SQL Server 2014 through SQL Server 2016.


is_unique


bit


1 = Index is unique.

0 = Index is not unique.

Always 0 for clustered columnstore indexes.


data_space_id


int


ID of the data space for this index. Data space is either a filegroup or partition scheme.

0 = object_id is a table-valued function or in-memory index.


ignore_dup_key


bit


1 = IGNORE_DUP_KEY is ON.

0 = IGNORE_DUP_KEY is OFF.


is_primary_key


bit


1 = Index is part of a PRIMARY KEY constraint.

Always 0 for clustered columnstore indexes.


is_unique_constraint


bit


1 = Index is part of a UNIQUE constraint.

Always 0 for clustered columnstore indexes.


fill_factor


tinyint


> 0 = FILLFACTOR percentage used when the index was created or rebuilt.

0 = Default value

Always 0 for clustered columnstore indexes.


is_padded


bit


1 = PADINDEX is ON.

0 = PADINDEX is OFF.

Always 0 for clustered columnstore indexes.


is_disabled


bit


1 = Index is disabled.

0 = Index is not disabled.


is_hypothetical


bit


1 = Index is hypothetical and cannot be used directly as a data access path. Hypothetical indexes hold column-level statistics.

0 = Index is not hypothetical.


allow_row_locks


bit


1 = Index allows row locks.

0 = Index does not allow row locks.

Always 0 for clustered columnstore indexes.


allow_page_locks


bit


1 = Index allows page locks.

0 = Index does not allow page locks.

Always 0 for clustered columnstore indexes.


has_filter


bit


1 = Index has a filter and only contains rows that satisfy the filter definition.

0 = Index does not have a filter.


filter_definition


nvarchar(max)


Expression for the subset of rows included in the filtered index.

NULL for heap or non-filtered index.

【转载】http://yanghao831207.blog.163.com/blog/static/3021986201001145126109/

    https://msdn.microsoft.com/en-us/library/ms173760.aspx

时间: 2024-11-06 11:55:40

系统表 sys.syscolumns、sys.sysobjects 和 sys.indexes 的字段含义的相关文章

查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试

在SQL中可以通过查询Master下的系统表(sys)和系统视图(information_schema)获取数据库的信息.SQL2000和SQL2005的结构略有不同. 系统表结构参考系统表详细说明. 系统信息结构图参考:http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html 1.2000下操作: 系统表目录:大部分以dbo.sys为前缀. 系统视图目录:有20个常用的视图,以INFORMATION_SCHEMA为前缀. 在2

sql 系统表(sys.sysobjects)

1 select distinct type from sys.sysobjects  查询系统表的type信息 2 type 字段 AF = 聚合函数 (CLR)C = CHECK 约束D = DEFAULT(约束或独立)F = FOREIGN KEY 约束PK = PRIMARY KEY 约束P = SQL 存储过程PC = 程序集 (CLR) 存储过程FN = SQL 标量函数FS = 程序集 (CLR) 标量函数FT = 程序集 (CLR) 表值函数R = 规则(旧式,独立)RF = 复

sql server2008系统表详细说明sys.开头的表

一.库里有多少个表,表名等 select * from INFORMATION_SCHEMA.TABLES 二.查询表.字段.类型.是否主键.长度.小数位.是否允许空.默认值等详细查询 效果: SELECT (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空 a.colorder as 字段序号, a.name as 字段名, (case when COLUMNPROPERTY( a.id,a.name,'IsI

Sqlserver 中系统表sysobjects、syscolumns以及函数object_id

1.sysobjects 系统对象表. 保存当前数据库的对象,如约束.默认值.日志.规则.存储过程等 sysobjects 重要字段解释: sysObjects ( Name sysname, --object 名称 id int, --object id xtype char(2), -- object 类型 type char(2), -- Object 类型(与xtype 似乎一模一样) uid smallint, -- object 所有者的ID ... --其他的字段不常用到. ) ?

SQL Server系统表sysobjects介绍与使用

原文:SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工. 这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表 在数据库内创建的每个对象(约

SQL Server系统表sysobjects介绍与使用(转)

SQL Server系统表sysobjects介绍与使用 关于SQL Server数据库的一切信息都保存在它的系统表格里.我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格.但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器.你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工. 这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表  在数据库内创建的每个对象(约束.

关于SQL Server中的系统表之一 sysobjects

微软Sql Server数据库是企业开发管理中最常用的数据库系统之一.其功能强大而且使用简单.方便.我们在数据库中创建数据库.表.视图.触发器.存储过程.函数等信息. 最常用的功能之一,查询数据,例如: 1 SELECT [SysAreaId] 2 ,[AreaName] 3 ,[AreaNamePinYin] 4 ,[ShortName] 5 ,[AreaTypeId] 6 ,[Depth] 7 ,[ParentId] 8 ,[PostCode] 9 FROM [SavionPlatMisDB

SQL Server系统表sysobjects介绍与使用(转))

这就让sysobjects表格有了用武之地.虽然我不建议你更新这个表格,但是你当然有权对其进行审查. sysobjects 表  在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. sysobjects 表结构: 列名 数据类型 描述 name sysname 对象名,常用列 id int 对象标识号 xtype char(2) 对象类型.常用列.xtype可以是下列对象类型中的一种: C = CHECK 约束

SQL Server 系统表 sysobjects中xtype和type区别

sysobjects 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. sysobjects 中有二个表示对象类型的字段(type,xtype). type是在 SQL Server 6.0 就有的,xtype在 SQL Server 7.0 才出现的. 对比了一下 type 与 xtype,有一些不同: type:    K = PRIMARY KEY 或 UNIQUE 约束    R = 规则 xtype: