SQL Server系统函数:元数据函数

时间:2021-07-21 07:34:47

原文: SQL Server系统函数:元数据函数

 

1、列的长度、列名


   
  
  1. --列的长度
  2. select COL_LENGTH( ‘dbo.wct‘, --表名
  3. ‘wcid‘) --列名
  4. --列名
  5. select COL_NAME(object_id( ‘dbo.wct‘), --表ID
  6. 1) --列ID

columnProperty函数返回有关列过程参数的信息:


   
  
  1. select ColumnProperty(object_id( ‘dbo.wct‘), --表ID
  2. ‘wcid‘, --列名
  3. ‘precision‘) --属性名

列属性:
ColumnId 

AllowsNull 
Precision
Scale

IsComputed
IsSparse
IsCursorType 
IsColumnSet 

IsIdentity
IsRowGuidCol 

FullTextTypeColumn 
IsFulltextIndexed

IsIdNotForRepl 
IsIndexable
IsOutParam
IsXmlIndexable 

IsDeterministic
IsPrecise
IsSystemVerified

SystemDataAccess 
UserDataAccess 
UsesAnsiTrim

 

2、数据库


   
  
  1. --DatabasePropertyEx函数返回指定数据库中指定选项的属性,要返回更多可以用sys.databases目录视图
  2. select DatabasePropertyEx( ‘master‘, --数据库名
  3. ‘IsAutoClose‘) --属性名
  4. --db_id函数返回指定数据库名称对应的id
  5. select db_id( ‘master‘)
  6. --db_name函数返回指定数据库id号的数据库名称
  7. select db_name( 1)

3、文件与文件组


   
  
  1. --file_id函数返回指定逻辑文件名对应的id,以后版本将删除此函数
  2. select file_id( ‘wc_fg5_1‘) --文件逻辑名
  3. --建议采用此函数
  4. select FILE_IDEX( ‘wc_fg5_1‘)
  5. --filegroup_id函数返回指定文件组名称对应的id
  6. select filegroup_id( ‘wc_fg5‘)
  7. --filegroup_name函数返回指定文件组id对应的文件组名称
  8. select filegroup_name( 6)
  9. --FilegroupProperty函数返回指定文件组中相应选项的属性,
  10. --要返回更多可以用sys.filegroups目录视图
  11. select FilegroupProperty( ‘wc_fg5‘,
  12. ‘IsUserDefinedFG‘) --是否是用户定义的文件组
  13. select FilegroupProperty( ‘wc_fg5‘,
  14. ‘IsDefault‘) --是否是默认文件组
  15. select FilegroupProperty( ‘wc_fg5‘,
  16. ‘IsReadOnly‘) --是否只读
  17. --file_name函数返回指定逻辑文件对应的逻辑文件名称
  18. select file_name( 8)
  19. --FileProperty函数返回指定逻辑文件相应选项的属性
  20. select fileproperty( ‘wc_data‘,
  21. ‘IsPrimaryFile‘)
  22. select fileproperty( ‘wc_fg5_1‘,
  23. ‘IsReadOnly‘)
  24. select fileproperty( ‘wc_fg5_1‘,
  25. ‘SpaceUsed‘) --返回在文件中分配的页数
  26. select fileproperty( ‘wc_log1‘,
  27. ‘IsLogFile‘) --是否日志文件

4、对象


   
  
  1. --object_id函数返回架构范围内对象的数据库对象id
  2. select object_id( ‘master.dbo.spt_values‘)
  3. select object_id( ‘master.dbo.spt_values‘, ‘U‘)
  4. --object_name函数返回架构范围内对象id对应的数据库对象名称
  5. select object_name( 1115151018)
  6. --objectPropertyEx函数返回架构范围内对象相应选项的属性,返回更多可以用sys.objects系统目录
  7. select ObjectPropertyex(object_id( ‘spt_values‘),
  8. ‘IsTable‘)
  9. select ObjectPropertyex(object_id( ‘wct‘),
  10. ‘TableHasForeignKey‘) --有FOREIGN KEY约束的表
  11. select ObjectPropertyex(object_id( ‘wct‘),
  12. ‘TableUpdateTriggerCount‘) --update触发器的个数
  13. select ObjectPropertyex(object_id( ‘wct‘),
  14. ‘IsTrigger‘) --是否是触发器
  15. select ObjectPropertyex(object_id( ‘wct‘),
  16. ‘TableHasPrimaryKey‘) --对象是否有主键

5、索引


   
  
  1. --索引中指定键id对应的列名
  2. select INDEX_COL( ‘wc.dbo.wcT‘, --数据库.架构.表
  3. 1, --索引id
  4. 1) --索引中键的id
  5. --索引键的属性
  6. select INDEXKEY_PROPERTY(OBJECT_ID( ‘wc.dbo.wcT‘), --对象id
  7. 1, --索引id
  8. 2, --键id
  9. ‘ColumnId‘) --对应到表中的列id
  10. select INDEXKEY_PROPERTY(OBJECT_ID( ‘wc.dbo.wcT‘), --对象id
  11. 1, --索引id
  12. 2, --键id
  13. ‘IsDescending‘) --是否降序
  14. --索引属性
  15. select INDEXPROPERTY(object_id( ‘wc.dbo.wcT‘),
  16. ‘pk_wcid_date‘,
  17. ‘IndexID‘) --索引id
  18. select INDEXPROPERTY(object_id( ‘wc.dbo.wcT‘),
  19. ‘pk_wcid_date‘,
  20. ‘IsClustered‘) --是否聚集
  21. select INDEXPROPERTY(object_id( ‘wc.dbo.wcT‘),
  22. ‘pk_wcid_date‘,
  23. ‘IsDisabled‘) --是否禁用
  24. select INDEXPROPERTY(object_id( ‘wc.dbo.wcT‘),
  25. ‘pk_wcid_date‘,
  26. ‘IsRowLockDisallowed‘) --是否允许行级锁
  27. select INDEXPROPERTY(object_id( ‘wc.dbo.wcT‘),
  28. ‘pk_wcid_date‘,
  29. ‘IsStatistics‘) --是否自动创建统计信息
  30. select INDEXPROPERTY(object_id( ‘perfetti.dbo.wcT‘),
  31. ‘idx_wc‘,
  32. ‘IndexDepth‘) --索引深度

6、类型AllowsNull


   
  
  1. select TYPEPROPERTY( ‘int‘, --类型名
  2. ‘Precision‘) --类型属性
  3. select TYPEPROPERTY( ‘int‘, --类型名
  4. ‘AllowsNull‘) --类型属性

7、当前模块的对象ID,可以是存储过程,用户定义函数,触发器

select @@PROCID
  

8、扩展属性


   
  
  1. select * from ::fn_listextendedproperty( default,
  2. ‘schema‘, --架构
  3. ‘dbo‘, --架构名
  4. ‘table‘, --表
  5. ‘wcT‘, --表名
  6. default, --列
  7. default --列名
  8. )
  9. DECLARE @V SQL_VARIANT
  10. SET @V = ‘ABCEFG‘
  11. select SQL_VARIANT_PROPERTY(@V,
  12. ‘BaseType‘)
  13. select SQL_VARIANT_PROPERTY(@V,
  14. ‘TotalBytes‘)
  15. select SQL_VARIANT_PROPERTY(@V,
  16. ‘MaxLength‘)

9、服务器属性


   
  
  1. select SERVERPROPERTY( ‘Collation‘),
  2. SERVERPROPERTY( ‘IsClustered‘),
  3. SERVERPROPERTY( ‘IsSingleUser‘),
  4. SERVERPROPERTY( ‘MachineName‘),
  5. SERVERPROPERTY( ‘ProcessID‘),
  6. SERVERPROPERTY( ‘NumLicenses‘),
  7. SERVERPROPERTY( ‘SqlSortOrder‘)

10、会话属性


   
  
  1. select SESSIONPROPERTY( ‘ANSI_NULLS‘),
  2. SESSIONPROPERTY( ‘ANSI_WARNINGS‘),
  3. SESSIONPROPERTY( ‘ANSI_PADDING‘),
  4. SESSIONPROPERTY( ‘ARITHABORT‘),
  5. SESSIONPROPERTY( ‘NUMERIC_ROUNDABORT‘),
  6. SESSIONPROPERTY( ‘CONCAT_NULL_YIELDS_NULL‘),
  7. SESSIONPROPERTY( ‘QUOTED_IDENTIFIER‘)

 

SQL Server系统函数:元数据函数SQL Server系统函数:元数据函数 不想长大啊 发布了416 篇原创文章 · 获赞 135 · 访问量 94万 他的留言板 关注