SQL Server系统基表

系统基表简介

系统基表是基础表,用于实际存储特定数据库的元数据,同时,系统基表用于维护用户表结构信息,对用户表的修改最终会映射到对系统基表的修改。

若要查询系统基表,用户必须使用专用管理员连接 (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

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server练习题可以帮助你提升对SQL Server数据库的理解和应用能力。在练习之前,你需要准备好SQL Server的安装文件,并根据SQL Server 2019的下载和安装指南进行安装。安装完成后,你可以按照以下步骤进行练习: 1. 首先,在新建查询时,确保你选择了要使用的数据库,比如练习数据库。你可以在查询框里直接选中需要的数据库,或者在查询的最前面插入一条"USE 练习"语句。 2. 在练习过程中,你可以根据自己的需要创建练习题目的数据库,可以使用CREATE DATABASE语句来创建一个新的数据库。 3. 在编写查询语句之前,你可以自己先检查语法是否正确,确保没有错误。你可以点击执行按钮来运行查询语句,如果语法正确,会显示查询结果。 4. 在执行语句后,如果你不确定答案,你可以通过查看基表的内容来进行验证。你可以选中要查看的表,右键点击"编辑前200行"来查看表的内容。 5. 如果遇到数据库更新的练习题,建议你可以创建一个新的表来练习,这样可以避免对原有数据的影响。 下面是一个练习题的示例,要求查询图书表中售价介于50元到70元之间的图书的全部信息: ```sql SELECT * FROM 图书 WHERE 售价 BETWEEN 50 AND 70 ``` 这条查询语句会返回满足条件的图书的全部信息。 通过完成这些练习题,你可以提高自己在SQL Server数据库上的操作能力,并巩固对SQL语法的理解。祝你成功!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值