SQL Server系统视图 [不定期更新]
1.sys.objects:在数据库中创建的每个用户定义的架构作用域内的对象(如表、视图、约束、默认值、日志、规则存储过程等,但不包括DDL触发器)在该表中均对应一行。
列名 |
说明 |
name |
对象名。 |
object_id |
对象标识号。在数据库中是唯一的。 |
type |
对象类型。如,U = 表(用户定义类型)UQ = UNIQUE 约束。 |
type_desc |
对对象类型的说明。如,UNIQUE_CONSTRAINT、USER_TABLE |
create_date |
对象的创建日期。 |
modify_date |
上次使用 ALTER 语句修改对象的日期。 如果对象为表或视图,则创建或修改表或视图的聚集索引时,modify_date 也会随之更改。 |
2.sys.tables:为 SQL Server 中的每个用户表返回一行(即将sys.objects表中的用户表单独列出来,包含sys.objects中的所有列,并又添加若干列)。
3.sys.columns:为包含列的对象(如视图或表)的每一列返回一行。
列名 |
说明 |
object_id |
此列所属对象的 ID。 |
name |
列名,在对象中是唯一的。 |
column_id |
列的ID,在对象中是唯一的。列 ID 可以不按顺序排列。 |
is_identity |
1 = 列具有标识值。 |
4.sys.extended_properties:针对当前数据库中的每个扩展属性返回一行。
列名 |
说明 |
class |
标识其上存在属性的项类。如,1 = 对象或列。 |
class_desc |
其上存在扩展属性的类的说明。 如,OBJECT_OR_COLUMN。 |
major_id |
其上存在扩展属性的项的ID,根据项类进行解释。对于大多数项,该ID适用于类所表示的项。如果class为0,则major_id始终为0。如果class为1、2或7,则major_id为object_id。 |
minor_id |
其上存在扩展属性的项的辅助ID,根据项类进行解释。对于大多数项,ID为0;否则,ID 为下列值之一:如果class = 1,则minor_id在项为列的情况下等于column_id在项为对象的情况下等于0。如果class = 2,则minor_id为parameter_id。如果class = 7,则minor_id为index_id。 |
name |
属性名,其class、major_id和minor_id是唯一的。 |
value |
扩展属性的值。 |
注:表格为所有列或主要列的说明信息。
使用实例:
1.查看用户表的信息:
select 表名=name, 创建时间=Create_Date, 修改时间=Modify_date from sys.tables--或者sys.objects where type=‘U‘
2.查看用户表的字段说明信息:
select 表名=case when col.column_id=1 THEN tab.name else N‘‘ end, 字段名=col.name, 字段说明=isnull(ext.value,N‘‘) from sys.tables tab join sys.columns col on tab.object_id=col.object_id join sys.extended_properties ext on col.object_id=ext.major_id and col.column_id=ext.minor_id
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。