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')