首页 > 数据库 >sql server 系统表结构列说明sysindexes、syscolumns、sysobjects

sql server 系统表结构列说明sysindexes、syscolumns、sysobjects

时间:2022-08-27 20:34:05浏览次数:73  
标签:smallint 兼容性 sysindexes int server 标识 sql ID 仅供参考

select *    from sysindexkeys    --包含有关数据库的索引中的键或列的信息
select *    from sysindexes     --数据库中的每个索引和表在表中各占一行。
select *     from syscolumns      --每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行
select *    from sysobjects     --在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。

sys.indexkeys  --包含有关数据库的索引中的键或列的信息

列名称数据类型说明
id int 表的 ID。
indid smallint 索引的 ID。
colid smallint 列的 ID。
keyno smallint 该列在索引中的位置。

sys.sysobjects    --在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。

 

列名称数据类型说明
name sysname 对象名称
ID int 对象标识号
xtype char(2) 对象类型。 可以是以下对象类型之一:

AF = 聚合函数 (CLR)

C = CHECK 约束

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

L = 日志

FN = 标量函数

FS = 程序集 (CLR) 标量函数

FT = 程序集 (CLR) 表值函数

IF = 内联表函数

IT = 内部表

P = 存储过程

PC = 程序集 (CLR) 存储过程

PK = PRIMARY KEY 约束(类型为 K)

RF = 复制筛选存储过程

S = 系统表

SN = 同义词

SO = 序列

SQ = 服务队列

TA = 程序集 (CLR) DML 触发器

TF = 表函数

TR = SQL DML 触发器

TT = 表类型

U = 用户表

UQ = UNIQUE 约束(类型为 K)

V = 视图

X = 扩展存储过程
uid smallint 对象所有者的架构 ID。 对于从早期版本的SQL Server升级的数据库,架构 ID 等于所有者的用户 ID。 如果用户数和角色数超过 32,767,则发生溢出或返回 NULL。

** 重要 **如果使用以下任何SQL Server DDL 语句,则必须使用 sys.objects 目录视图而不是 sys.sysobjects。

CREATE | ALTER | DROP USER

CREATE | ALTER | DROP ROLE

CREATE | ALTER | DROP APPLICATION ROLE

CREATE SCHEMA

ALTER AUTHORIZATION ON OBJECT
info smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
状态 int 标识为仅供参考。 不支持。 不保证以后的兼容性。
base_schema_ver int 标识为仅供参考。 不支持。 不保证以后的兼容性。
replinfo int 标识为仅供参考。 不支持。 不保证以后的兼容性。
parent_obj int 父对象的对象标识号。 例如,表 ID(如果父对象是触发器或约束)。
crdate datetime 对象的创建日期。
ftcatid smallint 注册为使用全文检索的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 在每次更改表的架构时都会增加的版本号。 始终返回 0。
stats_schema_ver int 标识为仅供参考。 不支持。 不保证以后的兼容性。
type char(2) 对象类型。 可以是以下其中一个值:

AF = 聚合函数 (CLR)

C = CHECK 约束

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

FN = 标量函数

FS = 程序集 (CLR) 标量函数

FT = 程序集 (CLR) 表值函数 IF = 内联表函数

IT - 内部表

K = PRIMARY KEY 或 UNIQUE 约束

L = 日志

P = 存储过程

PC = 程序集 (CLR) 存储过程

R = 规则

RF = 复制筛选存储过程

S = 系统表

SN = 同义词

SQ = 服务队列

TA = 程序集 (CLR) DML 触发器

TF = 表函数

TR = SQL DML 触发器

TT = 表类型

U = 用户表

V = 视图

X = 扩展存储过程
userstat smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
sysstat smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
indexdel smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
refdate datetime 标识为仅供参考。 不支持。 不保证以后的兼容性。
版本 int 标识为仅供参考。 不支持。 不保证以后的兼容性。
deltrig int 标识为仅供参考。 不支持。 不保证以后的兼容性。
instrig int 标识为仅供参考。 不支持。 不保证以后的兼容性。
updtrig int 标识为仅供参考。 不支持。 不保证以后的兼容性。
seltrig int 标识为仅供参考。 不支持。 不保证以后的兼容性。
category int 用于发布、约束和标识。
cache smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。

sys.syscolumns  --为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。

列名称数据类型说明
name sysname 列或过程参数的名称。
id int 此列所属表的对象 ID,或者与此参数关联的存储过程的 ID。
xtype tinyint sys.types 中的物理存储类型。
typestat tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
xusertype smallint 扩展用户定义数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
length smallint sys 的最大物理存储长度。类型
xprec tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
xscale tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
colid smallint 列 ID 或参数 ID。
xoffset smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
bitpos tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
reserved tinyint 标识为仅供参考。 不支持。 不保证以后的兼容性。
colstat smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
cdefault int 此列的默认值的 ID。
domain int 此列的规则或 CHECK 约束的 ID。
数字 smallint 过程分组时的子过程号。

0 = 非过程项
colorder smallint 标识为仅供参考。 不支持。 不保证以后的兼容性。
autoval varbinary(8000) 标识为仅供参考。 不支持。 不保证以后的兼容性。
offset smallint 此列所在行的偏移量。
collationid int 列的排序规则的 ID。 对于非字符列,此值为 NULL。
status tinyint 用于说明列或参数的属性的位图:

0x08 = 列允许空值。

0x10 = 添加 varchar 或 varbinary 列时,ANSI 填充生效。 对 varchar 保留尾随空白,对 varbinary 列保留尾随零。

0x40 = 参数为 OUTPUT 参数。

0x80 = 列为标识列。
type tinyint sys 中的物理存储类型。类型
usertype smallint sys.types 中用户定义的数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
printfmt varchar(255) 标识为仅供参考。 不支持。 不保证以后的兼容性。
prec smallint 此列的精度级别。

-1 = xml 或大值类型。
scale int 此列的缩放。

NULL = 数据类型不是数值。
iscomputed int 指示列是否为计算列的标志:

0 = 非计算列。

1 = 计算列。
isoutparam int 指示过程参数是否为输出参数:

1 = True

0 = False
isnullable int 指示列是否允许空值:

1 = True

0 = False
整理 sysname 列的排序规则的名称。 如果不是基于字符的列,则为 NULL。

--整理自对象目录视图 (Transact-SQL) - SQL Server | Microsoft Docs

--由于业务需要使用这几个表,所以先整理出来复查。

标签:smallint,兼容性,sysindexes,int,server,标识,sql,ID,仅供参考
From: https://www.cnblogs.com/chenshihaook/p/16631358.html

相关文章

  • Mysql 大表在线DDL修改表全文索引解决方式
    1.添加主键索引ALTERTABLEtable_nameADDPRIMARYKEY(column),Algorithm=Inplace;2.添加唯一索引ALTERTABLEtable_nameADDUNIQUE(column),Algorithm=Inplac......
  • MySQL InnoDB索引原理
     数据库与I/O原理数据会持久化到磁盘,查询数据是就会有I/O操作,相对于缓存操作,I/O操作的时间成本相当高昂。I/O操作的基本单位是一个磁盘页面,比如16KB的页面大小。当数据......
  • MyBatis-特殊SQL的执行
    1. 通过用户名模糊查询用户信息SpecialSQLMapper.javapublicinterfaceSpecialSQLMapper{List<User>getUserByLike(@Param("mohu")Stringmohu);}SpecialSQ......
  • 7.3 SQL Server分页查询
    SQLServer分页查询目录SQLServer分页查询SQLServerOFFSETFETCHOFFSETFETCH示例A)要跳过前10个产品并选择下10个产品,请同时使用OFFSET和FETCH子句,如下所示:B)要获得前10......
  • 7.4 SQL Server SELECT TOP
    SQLServerSELECTTOP目录SQLServerSELECTTOPSELECTTOP简介SELECTTOP示例1)使用具有固定值的TOP2)使用TOP返回行的百分比3)使用TOPWITHTIES来包括与最后一行中的......
  • 7.5 SQL Server查询去重
    SQLServerSELECTDISTINCT目录SQLServerSELECTDISTINCTSELECTDISTINCT简介SELECTDISTINCT示例A)DISTINCT单列B)DISTINCT多列C)DISTINCTNULL值DISTINCT与GROUP......
  • 7.2 SQL Server数据排序
    SQLServerORDERBY目录SQLServerORDERBYSQLServerORDERBY子句简介ORDERBY示例A)按一列升序排序B)按一列降序排序C)按多列对结果集排序D)按多列和不同顺序对结果......
  • MySQL源码分析之SQL函数执行
    1.MySQL中执行一条SQL的总体流程2.SQL函数执行过程1.MySQL中执行一条SQL的总体流程一条包含函数的SQL语句,在mysql中会经过:客户端发送,服务器连接,语法解析,语句执行的......
  • 【MySQL】MySQL8确认哪些参数在使用以及来源
    在MySQL8中,参数可能来自不同的地方,确认有效的参数来自于哪里:SELECT variable_name, variable_sourceASsource, variable_path, set_time, set_userASUSER, set......
  • 【MySQL】MySQL8持久化系统变量
    set命令可以用于将某些全局系统变量持久化到数据目录中的mysqld-auto.cnf文件中,以影响后续启动的服务器操作。resetpersist从mysqld-auto.cnf中删除持久设置。在运行时持......