SQL Server常用元数据函数

元数据函数

  1、获取数据库标识符DB_ID

    DB_ID函数用于获取当前数据库的唯一ID(int数据类型),数据库ID用于服务器上唯一区分书库。

    语法结构:

  DB_ID (['database_name'])  

     参数中的database_name是sysname类型的数据库名称,为可选参数。如果没有指定则返回当前工作数据库的ID。

    返回值:

     int数据类型的数据库标识符。

    示例:

  select DB_ID()    --输出 8

  2、获取数据库名称DB_NAME  

    DB_NAME函数用于红区当前数据库的名称(nvarchar数据类型)

    语法结构:

  DB_NAME(['database_id'])

     参数中的database是int数据类型的数据库标识符,为可选参数。如果没有指定则返回当前工作数据库的名称。

    示例:

  select DB_NAME()    --输出 NHibernate

  3、获取数据库属性DATABASEPROPERTYEX

    databasepropertyex函数用于获得指定的某个数据库的某个属性的当前设置。执行一次返回一个属性值,若要返回多个属性值,可以查询master系统数据库的      sys.database系统视图。

     语法结构:

  databasepropertyex(database,property)

     参数说明:

     database:表示要为其返回命名属性的信息的数据库名称,nvarchar(128)数据类型

     property:表示要返回的数据库属性,数据类型为Varchar(128)

    示例:

  select databasepropertyex('NHibernate','recovery')    --输出 SIMPLE 这是数据库的恢复模式

    Property属性的取值以及说明如下:

属性值说明返回值
Collation排序规则名称nvarchar(128)、null
IsAutoClose数据库的自动关闭功能是否启用Int、null
IsAutoCreateStatistics 是否自动创建统计信息Int、null
IsAutoShrink是否定期收缩Int、null
IsAutoUpdateStatistics是否自动能够更新统计信息Int、null
Recovery数据库的恢复模式nvarchar(128)
Status数据库的状态nvarchar(128)
Updateability是否可以修改数据nvarchar(128)
UserAccess哪些用户可以访问数据库nvarchar(128)
Version数据库内部版本号Int

 

  4、获取文件组标识符FILEGROUP_ID

   filegropy_id函数用于获取文件组的唯一标识符(int数据类型)

    语法结构:

  FILEGROUP_ID( 'filegropy_name' )

      参数中的filegropy_name是sysname类型的数据库名称,可以从sys.filegroups系统视图中查询得到。

     返回值:

      Int数据类型的文件组标识符。

     示例:

    select filegroup_id('NHiberna')    --输出 null
    select filegroup_id('PRIMARY')    --输出 1

   5、获取文件组名称FILEGROUP_NAME

    filegroup_name函数用于获取文件组的名称(nvarchar数据类型)。

     语法结构:

  filegroup_name(filegroup_id)

      参数中的filegroup_id是int数据类型的文件组标识符,要获得该标识符,可以查询sys.filegroups系统视图

     返回值:

      nvarchar(128)数据类型的文件组名称

      示例:

  select filegroup_name(1)    --输出 PRIMARY

  6、获取文件组属性值FILEGROUPPROPERTY

    filegroupproperty函数用于获得指定文件组的指定属性值。

    语法结构:

  filegroupproperty(filegroupname,property)

    参数说明:

      filegroup_name:表示要为其返回属性信息的文件组名称,nvarchar(128)数据类型,可以通过sys.filegroups列获得。

      property:表示要返回的属性,数据类型为varchar(128)。

      常见的property属性值列表

属性值说明返回值
IsReadOnly文件组是否只读Int、Null
IsUserDefinedEG是否为用户定义的文件组Int、Null
IsDefault是否默认的文件组Int、Null

    示例:

  select filegroupproperty('PRIMARY','isreadonly')    --输出 0

  7、获得文件标识符FILE_ID

    file_id函数用于获取数据库的文件,包括日志文件和数据文件的标识符。文件标识符用于在数据库中唯一区分。

     语法结构:

  FILE_ID( file_name )

      参数中的file_name是sysname类型的文件名称,可以通过查询系统视图sys.database_files中的name列来获得。

     返回值:

      smallint数据类型的文件标识符。

     示例:

    select * from sys.database_files    --查出有哪些数据库文件
    select file_id('NHibernate')    --输出 1 查出NHibernate数据库文件对应的fileid    

  8、获取文件名称FILE_NAME

    file_name函数用于获取当前数据库的逻辑名称(nvarchar数据类型),这里是逻辑名称而不是包含路径的物理名称。

    语法结构:

  file_name(file_id)

     参数中的file_id是int数据类型的数据库标识符。可以查询master数据库的sys.master_files系统视图的file_id列获得服务器上所有数据库的文件ID,也可以查询某个数据库的sys.database_files系统视图的file_id列获得该数据库的文件的ID。

    返回值:

      nvarchar(128)数据类型的逻辑文件名称。

    示例:

    select * from sys.database_files    --查出有哪些数据库文件
    select file_id('NHibernate')    --输出 1 查出NHibernate数据库文件对应的fileid
    select  file_name(1)        -- 输出 NHibernate

  9、获取文件属性值FILEPROPERTY

    fileproperty函数用于获得指定文件的指定属性值。

    语法结构:

  fileproperty (file_name ,property )

    file_name:表示要为其返回属性信息的文件的逻辑名称,nvarchar(128)数据类型,可以通过sys.database_files系统视图查询name列获得。

    property:表示要返回的属性,数据类型为varchar(128)。

    常见的property属性值的取值如下:

属性值说明返回值
IsReadOnly文件是否只读Int 1代表True,0代表False
IsPrimaryFile是否为主要数据文件Int 1代表True,0代表False
IsLogFile是否为日志文件Int 1代表True,0代表False
SpaceUsed文件空间的使用量Int

    示例:

    select fileproperty('nhibernate','isreadonly')    --输出 0
    select fileproperty('nhibernate','isprimaryfile')--输出1
    select fileproperty('nhibernate','islogfile')    --输出0
    select fileproperty('nhibernate','spaceused')    --输出184

  10、获取数据库对象标识符OBJECT_ID

    object_id函数用于获取特定数据库、特定架构下特定数据对象的唯一ID(int数据类型),对象的ID用于在数据库内区分唯一。

    语法结构:

      object_id( '[database_name . [schema_name] . | schema_name . ]object_name'
         [,'object_type']
      ')

    参数说明:

database_name数据库名称
schema_name架构名称
object_name对象名称
object_type对象类型

    返回值:

      Int数据类型的对象标识符。

  11、获取数据库对象名称OBJECT_NAME

    object_name函数用于获取指定数据库、指定架构下的数据对象的逻辑名称。该名称可以通过查询sys.objects系统视图的name列得到。

    语法结构:

  object_name(object_id)

    参数中的object_id是int数据类型的对象标识符

    返回值:

      sysname数据类型的逻辑对象名称。

    示例:

  select OBJECT_NAME(OBJECT_ID('dbo.Account'))    --输出Account

  12、获取文件属性值OBJECTPROPERTY

    objectproperty函数用于获得指定数据库、指定架构下的指定对象的指定属性的值。

    语法结构:

    objectproperty(id,property)

    参数说明:

      id:表示要为其返回命名属性信息的对象的ID,int数据类型。

      property:表示要返回的属性,数据类型为sql_variant,即变体。

      常见的property属性值

属性值说明返回值
TableHasTextImage表中是否含有text、image列Int  1代表True  0代表False
TableHasPrimaryKey表中是否含有主键Int  1代表True  0代表False
TableHasIndex表中是否含有索引Int  1代表True  0代表False
TableHasForeignKey表中是否含有外键Int  1代表True  0代表False
SchemaId对象的架构IDInt
OwnerId对象的所有者Int
IsView是否视图Int  1代表True  0代表False
IsUserTable是否用户创建表Int  1代表True  0代表False
IsTable是否是表Int  1代表True  0代表False
IsSystemTable是否系统表Int  1代表True  0代表False
IsPrimaryKey是否主键Int  1代表True  0代表False

 

 

 

posted on 2013-06-17 22:31  逆心 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/kissdodog/p/3141367.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值