sqlserver 最重要的几个系统表

分类: 365流水不足无法提款 时间: 2025-12-02 08:00:14 作者: admin 阅读: 3873

在 SQL Server 中,系统表存储了数据库的元数据,提供了关于数据库结构、对象、权限等信息。以下是一些最重要的系统表,它们用于管理和查询数据库的结构和状态:

1. sys.objects

描述:此表包含了数据库中所有对象的信息,包括表、视图、存储过程、函数、索引等。

常用字段:

object_id: 对象的唯一标识符。

name: 对象的名称。

type: 对象的类型(如 U 表示用户表,V 表示视图,P 表示存储过程)。

sql

SELECT * FROM sys.objects WHERE type = 'U'; -- 查找所有用户表

2. sys.tables

描述:此表仅包含数据库中所有的用户表信息,过滤掉其他类型的对象。

常用字段:

object_id: 表的唯一标识符。

name: 表的名称。

schema_id: 表所属的架构 ID。

sql

SELECT * FROM sys.tables; -- 查找所有用户表

3. sys.columns

描述:此表包含了每个表或视图的列信息。

常用字段:

column_id: 列的唯一标识符。

name: 列的名称。

object_id: 列所属的对象 ID(即表或视图的 ID)。

type: 列的数据类型。

sql

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('YourTableName'); -- 查找特定表的列信息

4. sys.indexes

描述:此表包含了数据库中所有索引的信息,包括表的主键、唯一约束等。

常用字段:

object_id: 索引所属对象的 ID(通常是表的 ID)。

name: 索引的名称。

type: 索引的类型(如 1 表示聚集索引,2 表示非聚集索引)。

sql

SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID('YourTableName'); -- 查找特定表的索引

5. sys.foreign_keys

描述:此表包含了数据库中所有外键约束的信息。

常用字段:

object_id: 外键约束的对象 ID。

name: 外键约束的名称。

referenced_object_id: 外键约束所引用的主表的对象 ID。

sql

SELECT * FROM sys.foreign_keys; -- 查找所有外键约束

6. sys.sysobjects

描述:这是一个较为古老的系统表,存储了所有对象的信息,包括表、视图、存储过程等,适用于 SQL Server 早期版本。

常用字段:

id: 对象的唯一标识符。

name: 对象的名称。

type: 对象的类型。

注:sys.sysobjects 在新版本的 SQL Server 中已被 sys.objects 取代,不推荐在现代版本中使用。

7. sys.database_principals

描述:此表包含了数据库中的所有主体信息,如用户、角色和应用程序等。

常用字段:

principal_id: 主体的唯一标识符。

name: 主体的名称。

type: 主体的类型(如 S 表示 SQL 用户,R 表示数据库角色)。

sql

SELECT * FROM sys.database_principals; -- 查找所有数据库主体

8. sys.dm_exec_sessions

描述:此视图提供了关于当前 SQL Server 会话的信息。它可以用于监控活跃会话。

常用字段:

session_id: 会话的唯一标识符。

login_name: 登录的用户名。

status: 会话的状态(如 sleeping, running)。

sql

SELECT * FROM sys.dm_exec_sessions; -- 查看当前会话

9. sys.dm_exec_requests

描述:此视图提供了关于当前执行中的请求的信息,主要用于监控正在执行的查询。

常用字段:

session_id: 与请求关联的会话 ID。

status: 请求的状态。

command: 正在执行的命令(如 SELECT, INSERT)。

sql

SELECT * FROM sys.dm_exec_requests; -- 查找正在执行的请求

10. sys.sql_logins

描述:此表存储了 SQL Server 实例中的所有 SQL 登录信息。

常用字段:

name: 登录的名称。

type: 登录的类型(如 SQL 登录或 Windows 登录)。

sql

SELECT * FROM sys.sql_logins; -- 查找所有 SQL 登录

总结

sys.objects 和 sys.tables 是查询数据库中对象的常用系统表。

sys.columns 和 sys.indexes 帮助你查看列和索引信息。

sys.foreign_keys 和 sys.database_principals 用于管理外键约束和数据库用户信息。

sys.dm_exec_sessions 和 sys.dm_exec_requests 用于查看当前会话和执行的查询。

这些系统表提供了对 SQL Server 数据库结构、元数据和性能的全面访问。

相关文章

大家说这个lafuma的背包和鞋怎么样?

365投注入口 · 08-26 阅读 3638

剑网3怀旧服茶馆几级能做

正规的365网站平台 · 09-23 阅读 4970

小米怎么关闭后应用运行程序,彻底清理后台,手机流畅省电秘籍!

365流水不足无法提款 · 08-02 阅读 5544