概述
系统基表简介
系统基表是基础表,用于实际存储特定数据库的元数据,同时,系统基表用于维护用户表结构信息,对用户表的修改最终会映射到对系统基表的修改。
若要查询系统基表,用户必须使用专用管理员连接 (DAC) 连接到 SQL Server 实例, 如果在没有使用 DAC 进行连接的情况下尝试从系统基表执行 SELECT 查询,则会引发错误。
常用系统表
1、sys.sysschobjs
存在于每个数据库中,每一行表示数据库中的一个对象,记录所有非sysschobjs系统表的概要信息。
例如,sysrscols表的表id为3,表名为sysrscols,创建时间为2010.04.02,更新时间为2010.04.02
从sys.sysschobjs中查询表结构信息:
use TestDB1
select * from sysobjects where name='table1'
从sys.sysschobjs中查询主键信息:
use TestDB1
select * from sysobjects
where parent_obj in (select id from sysobjects where name='table1') and xtype='PK'
2、sys.syscolpars
存在于每个数据库中,记录每个系统表、视图和表值函数的的具体列信息,以及存储过程和函数的每个参数信息。
例如,sysrscols表的表id为3,共包含14个列,具体列信息为:
rsid bigint 8字节 ....
rscolid int 4字节 ....
hbcolid int 4字节 ....
rcmodified bigint 8字节 ....
ti int 4字节 ....
......
3、sys.sysrscols
4、sys.sysrowsets
存在于每个数据库中, 记录索引或堆的每个分区行集。
数据库堆:每个数据库都有一个数据库堆,并且它用于各种用途,这些用途对于支持数据库范围的活动很关键。在数据库激活时,会从数据库内存保留 dbheap 的底层值或固定值以及针对紧急需求的内部内存限额。会根据需要分配数据库堆。当内存分配不再需要时,会将其释放。当取消激活数据库时,会释放数据库堆中的所有已分配内存。数据库堆需求依赖于各种因素(其中包括数据库设计、应用程序活动和配置)。
其他系统基表信息:系统基表 |Microsoft Docs | Microsoft Docs
通过查询系统基表信息获取字段数据类型
select * from sys.objects
将光标移动到objects上,按F1查询帮助文档,即可获取sys.objects表各个字段的数据类型。
查询数据类型对应的长度
select * from sys.types
最后
以上就是纯真期待为你收集整理的SQL Server系统基表系统基表简介常用系统表的全部内容,希望文章能够帮你解决SQL Server系统基表系统基表简介常用系统表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复