SQL Server系统函数:元数据函数
Posted lonelyxmas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server系统函数:元数据函数相关的知识,希望对你有一定的参考价值。
原文:SQL Server系统函数:元数据函数
1、列的长度、列名
- --列的长度
- select COL_LENGTH(‘dbo.wct‘, --表名
- ‘wcid‘) --列名
-
- --列名
- select COL_NAME(object_id(‘dbo.wct‘), --表ID
- 1) --列ID
columnProperty函数返回有关列过程参数的信息:
- select ColumnProperty(object_id(‘dbo.wct‘), --表ID
- ‘wcid‘, --列名
- ‘precision‘) --属性名
列属性:
ColumnId
AllowsNull
Precision
Scale
IsComputed
IsSparse
IsCursorType
IsColumnSet
IsIdentity
IsRowGuidCol
FullTextTypeColumn
IsFulltextIndexed
IsIdNotForRepl
IsIndexable
IsOutParam
IsXmlIndexable
IsDeterministic
IsPrecise
IsSystemVerified
SystemDataAccess
UserDataAccess
UsesAnsiTrim
2、数据库
- --DatabasePropertyEx函数返回指定数据库中指定选项的属性,要返回更多可以用sys.databases目录视图
- select DatabasePropertyEx(‘master‘, --数据库名
- ‘IsAutoClose‘) --属性名
-
- --db_id函数返回指定数据库名称对应的id
- select db_id(‘master‘)
-
- --db_name函数返回指定数据库id号的数据库名称
- select db_name(1)
3、文件与文件组
- --file_id函数返回指定逻辑文件名对应的id,以后版本将删除此函数
- select file_id(‘wc_fg5_1‘) --文件逻辑名
-
- --建议采用此函数
- select FILE_IDEX(‘wc_fg5_1‘)
-
- --filegroup_id函数返回指定文件组名称对应的id
- select filegroup_id(‘wc_fg5‘)
-
- --filegroup_name函数返回指定文件组id对应的文件组名称
- select filegroup_name(6)
-
- --FilegroupProperty函数返回指定文件组中相应选项的属性,
- --要返回更多可以用sys.filegroups目录视图
- select FilegroupProperty(‘wc_fg5‘,
- ‘IsUserDefinedFG‘) --是否是用户定义的文件组
-
- select FilegroupProperty(‘wc_fg5‘,
- ‘IsDefault‘) --是否是默认文件组
-
- select FilegroupProperty(‘wc_fg5‘,
- ‘IsReadOnly‘) --是否只读
-
-
- --file_name函数返回指定逻辑文件对应的逻辑文件名称
- select file_name(8)
-
- --FileProperty函数返回指定逻辑文件相应选项的属性
- select fileproperty(‘wc_data‘,
- ‘IsPrimaryFile‘)
-
- select fileproperty(‘wc_fg5_1‘,
- ‘IsReadOnly‘)
-
- select fileproperty(‘wc_fg5_1‘,
- ‘SpaceUsed‘) --返回在文件中分配的页数
-
- select fileproperty(‘wc_log1‘,
- ‘IsLogFile‘) --是否日志文件
4、对象
- --object_id函数返回架构范围内对象的数据库对象id
- select object_id(‘master.dbo.spt_values‘)
-
- select object_id(‘master.dbo.spt_values‘,‘U‘)
-
-
- --object_name函数返回架构范围内对象id对应的数据库对象名称
- select object_name(1115151018)
-
-
- --objectPropertyEx函数返回架构范围内对象相应选项的属性,返回更多可以用sys.objects系统目录
- select ObjectPropertyex(object_id(‘spt_values‘),
- ‘IsTable‘)
-
- select ObjectPropertyex(object_id(‘wct‘),
- ‘TableHasForeignKey‘)--有FOREIGN KEY约束的表
-
- select ObjectPropertyex(object_id(‘wct‘),
- ‘TableUpdateTriggerCount‘)--update触发器的个数
-
- select ObjectPropertyex(object_id(‘wct‘),
- ‘IsTrigger‘) --是否是触发器
-
- select ObjectPropertyex(object_id(‘wct‘),
- ‘TableHasPrimaryKey‘) --对象是否有主键
5、索引
- --索引中指定键id对应的列名
- select INDEX_COL(‘wc.dbo.wcT‘, --数据库.架构.表
- 1, --索引id
- 1) --索引中键的id
-
- --索引键的属性
- select INDEXKEY_PROPERTY(OBJECT_ID(‘wc.dbo.wcT‘), --对象id
- 1, --索引id
- 2, --键id
- ‘ColumnId‘) --对应到表中的列id
-
- select INDEXKEY_PROPERTY(OBJECT_ID(‘wc.dbo.wcT‘), --对象id
- 1, --索引id
- 2, --键id
- ‘IsDescending‘) --是否降序
-
- --索引属性
- select INDEXPROPERTY(object_id(‘wc.dbo.wcT‘),
- ‘pk_wcid_date‘,
- ‘IndexID‘) --索引id
-
- select INDEXPROPERTY(object_id(‘wc.dbo.wcT‘),
- ‘pk_wcid_date‘,
- ‘IsClustered‘) --是否聚集
-
- select INDEXPROPERTY(object_id(‘wc.dbo.wcT‘),
- ‘pk_wcid_date‘,
- ‘IsDisabled‘) --是否禁用
-
- select INDEXPROPERTY(object_id(‘wc.dbo.wcT‘),
- ‘pk_wcid_date‘,
- ‘IsRowLockDisallowed‘) --是否允许行级锁
-
- select INDEXPROPERTY(object_id(‘wc.dbo.wcT‘),
- ‘pk_wcid_date‘,
- ‘IsStatistics‘) --是否自动创建统计信息
-
- select INDEXPROPERTY(object_id(‘perfetti.dbo.wcT‘),
- ‘idx_wc‘,
- ‘IndexDepth‘) --索引深度
6、类型AllowsNull
- select TYPEPROPERTY(‘int‘, --类型名
- ‘Precision‘) --类型属性
-
- select TYPEPROPERTY(‘int‘, --类型名
- ‘AllowsNull‘) --类型属性
7、当前模块的对象ID,可以是存储过程,用户定义函数,触发器
select @@PROCID
8、扩展属性
- select * from ::fn_listextendedproperty(default,
- ‘schema‘, --架构
- ‘dbo‘, --架构名
- ‘table‘, --表
- ‘wcT‘, --表名
- default, --列
- default --列名
- )
-
- DECLARE @V SQL_VARIANT
- SET @V = ‘ABCEFG‘
-
- select SQL_VARIANT_PROPERTY(@V,
- ‘BaseType‘)
-
- select SQL_VARIANT_PROPERTY(@V,
- ‘TotalBytes‘)
-
- select SQL_VARIANT_PROPERTY(@V,
- ‘MaxLength‘)
9、服务器属性
- select SERVERPROPERTY(‘Collation‘),
- SERVERPROPERTY(‘IsClustered‘),
- SERVERPROPERTY(‘IsSingleUser‘),
- SERVERPROPERTY(‘MachineName‘),
- SERVERPROPERTY(‘ProcessID‘),
- SERVERPROPERTY(‘NumLicenses‘),
- SERVERPROPERTY(‘SqlSortOrder‘)
10、会话属性
- select SESSIONPROPERTY(‘ANSI_NULLS‘),
- SESSIONPROPERTY(‘ANSI_WARNINGS‘),
- SESSIONPROPERTY(‘ANSI_PADDING‘),
- SESSIONPROPERTY(‘ARITHABORT‘),
- SESSIONPROPERTY(‘NUMERIC_ROUNDABORT‘),
- SESSIONPROPERTY(‘CONCAT_NULL_YIELDS_NULL‘),
- SESSIONPROPERTY(‘QUOTED_IDENTIFIER‘)
以上是关于SQL Server系统函数:元数据函数的主要内容,如果未能解决你的问题,请参考以下文章