元数据函数

  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 对象的架构ID Int
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

SQL Server常用元数据函数的更多相关文章

  1. sql server 常用的函数小汇

    摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但 ...

  2. sql server常用字符串函数

    --返回字符表达式中最左侧字符的ASCII代码值 --将整数ASCII代码转换为字符 )--a )--A ')--A SELECT CHAR('A')--在将 varchar 值 'A' 转换成数据类 ...

  3. Sql Server 常用自定义函数

    -- select * from [dbo].[SplitToTable]('ADSF','|') -- 分解字符串 ALTER FUNCTION [dbo].[SplitToTable] ( @Sp ...

  4. sql server 常用的系统存储过程

      系统存储过程 说明 sp_databases 列出服务上的所有数据库 sp_helpdb 报告有关指定数据库或所有数据库的信息 sp_renamedb 更改数据库的名称 sp_tables 返回当 ...

  5. sql server中常用方法函数

    SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...

  6. Sql Server存储过程和函数浅谈

    今天给大家总结一下sql server中的存储过程和函数.本人是小白,里面内容比较初级,大神不喜勿喷 自行飘过就是.. 首先给大家简单列出sql server中的流控制语句,后面会用到的^_^ sql ...

  7. SQL点滴30—SQL中常用的函数

    原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...

  8. 深入浅出SQL Server 2008 分区函数和分区表

    原文:深入浅出SQL Server 2008 分区函数和分区表 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的 ...

  9. SQL Server 2008 分区函数和分区表详解

    [摘要]本文详细介绍SQL Server 2008 分区函数和分区表,包括查询某个分区.归档数据.添加分区.删除分区等内容. 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门 ...

随机推荐

  1. 在服务器端保存ViewState

    1.比较 Asp.net 的一个强大的功能就是ViewState,  但是这也成为很多人诟病的地方,我们先来看一个实例 ViewState其中一个特性就是保存页面的状态,下面我们看一个很简单的登录页面 ...

  2. Hadoop集群(第10期)_MapReduce与MySQL交互

    2.MapReduce与MySQL交互 MapReduce技术推出后,曾遭到关系数据库研究者的挑剔和批评,认为MapReduce不具备有类似于关系数据库中的结构化数据存储和处理能力.为此,Google ...

  3. java 的UUID的具体用法

    参照JDK public final class UUIDextends Objectimplements Serializable, Comparable<UUID> 表示通用唯一标识符 ...

  4. poj 1159 (DP LCS)

    滚动数组 + LCS // File Name: 1159.cpp // Author: Missa_Chen // Created Time: 2013年07月08日 星期一 10时07分13秒 # ...

  5. UVa 409 Excuses, Excuses!

    哈哈,虽然是一道字符串水题,可是拿到一个1A还是很开心的! 题意就是给一些keywords(子串)和Excuse(母串),然后输出包含keywords最多的Excuse,如果相等的话,按任意顺序全部输 ...

  6. HDU 1513 Palindrome

    题目就是给一个字符串问最少插入多少个字符能让原字符串变为回文字符串. 算法: 用原串的长度减去原串与翻转后的串的最大公共字串的长度,就是所求答案. //#define LOCAL #include & ...

  7. 【解题报告】POJ-1467 Symbolic Derivation

    原题地址:http://poj.org/problem?id=1467 题目大意: 对一个式子求导,给的式子包括常量,字母x,+,-,*,/,ln()运算符,任意嵌套的括号.求的导数式子不用化简,如1 ...

  8. [转]深入理解Flash Player重绘

    这个是tencent flash team的一篇文章,但团队的博客已经关闭了,所以就在这里备份下吧~ 后来有人把这篇文章又发布到9ria上了,引发了一些讨论,其中有两位大神发言了,内容在原文下方. 9 ...

  9. 《Write Optimized B-Trees》读书报告

    论文原作者:Goetz Graefe, Microsoft.我读完这篇论文后颇有收获,所以写了一篇论文报告,旨在更精炼准确地阐述论文核心思想. 摘要:论文提出了一种方法,这种方法可以优化B树索引写性能 ...

  10. android中的所谓观察者模式

    生活中我们常认定某些人很有才,但什么是有才呢?明朝的王守仁曾这样解释:才,是所谓天理,应用到物上,便成了才.凡事凡物,只要掌握了所谓科学的方法,并能灵活运用,那么你也可以成为一个有才的人. 观察者模式 ...