SQL?Server中元數(shù)據(jù)函數(shù)的用法
1、獲取數(shù)據(jù)庫標(biāo)識符:DB_ID
DB_ID函數(shù)用于獲取當(dāng)前數(shù)據(jù)庫的唯一ID(int數(shù)據(jù)類型),數(shù)據(jù)庫ID用于服務(wù)器上唯一區(qū)分書庫。
語法格式:
DB_ID (['database_name'])
參數(shù)中的database_name是sysname類型的數(shù)據(jù)庫名稱,為可選參數(shù)。如果沒有指定則返回當(dāng)前工作數(shù)據(jù)庫的ID。
返回值:
int數(shù)據(jù)類型的數(shù)據(jù)庫標(biāo)識符。
示例:
select DB_ID() --輸出 8
2、獲取數(shù)據(jù)庫名稱:DB_NAME
DB_NAME函數(shù)用于紅區(qū)當(dāng)前數(shù)據(jù)庫的名稱(nvarchar數(shù)據(jù)類型)
語法格式:
DB_NAME(['database_id'])
參數(shù)中的database是int數(shù)據(jù)類型的數(shù)據(jù)庫標(biāo)識符,為可選參數(shù)。如果沒有指定則返回當(dāng)前工作數(shù)據(jù)庫的名稱。
示例:
select DB_NAME() --輸出 NHibernate
3、獲取數(shù)據(jù)庫屬性:DATABASEPROPERTYEX
databasepropertyex函數(shù)用于獲得指定的某個數(shù)據(jù)庫的某個屬性的當(dāng)前設(shè)置。執(zhí)行一次返回一個屬性值,若要返回多個屬性值,可以查詢master系統(tǒng)數(shù)據(jù)庫的sys.database系統(tǒng)視圖。
語法格式:
databasepropertyex(database,property)
參數(shù)說明:
- database:表示要為其返回命名屬性的信息的數(shù)據(jù)庫名稱,nvarchar(128)數(shù)據(jù)類型
- property:表示要返回的數(shù)據(jù)庫屬性,數(shù)據(jù)類型為Varchar(128)
示例:
select databasepropertyex('NHibernate','recovery') --輸出 SIMPLE 這是數(shù)據(jù)庫的恢復(fù)模式
Property屬性的取值以及說明如下:
屬性值 | 說明 | 返回值 |
---|---|---|
Collation | 排序規(guī)則名稱 | nvarchar(128)、null |
IsAutoClose | 數(shù)據(jù)庫的自動關(guān)閉功能是否啟用 | Int、null |
IsAutoCreateStatistics | 是否自動創(chuàng)建統(tǒng)計信息 | Int、null |
IsAutoShrink | 是否定期收縮 | Int、null |
IsAutoUpdateStatistics | 是否自動能夠更新統(tǒng)計信息 | Int、null |
Recovery | 數(shù)據(jù)庫的恢復(fù)模式 | nvarchar(128) |
Status | 數(shù)據(jù)庫的狀態(tài) | nvarchar(128) |
Updateability | 是否可以修改數(shù)據(jù) | nvarchar(128) |
UserAccess | 哪些用戶可以訪問數(shù)據(jù)庫 | nvarchar(128) |
Version | 數(shù)據(jù)庫內(nèi)部版本號 | Int |
4、獲取數(shù)據(jù)庫對象標(biāo)識符:OBJECT_ID
object_id函數(shù)用于獲取特定數(shù)據(jù)庫、特定架構(gòu)下特定數(shù)據(jù)對象的唯一ID(int數(shù)據(jù)類型),對象的ID用于在數(shù)據(jù)庫內(nèi)區(qū)分唯一。
語法格式:
object_id( '[database_name . [schema_name] . | schema_name . ]object_name' [,'object_type'] ')
參數(shù)說明:
database_name
database_name | 數(shù)據(jù)庫名稱 |
schema_name | 架構(gòu)名稱 |
object_name | 對象名稱 |
object_type | 對象類型 |
返回值:
Int數(shù)據(jù)類型的對象標(biāo)識符。
5、獲取數(shù)據(jù)庫對象名稱:OBJECT_NAME
object_name函數(shù)用于獲取指定數(shù)據(jù)庫、指定架構(gòu)下的數(shù)據(jù)對象的邏輯名稱。該名稱可以通過查詢sys.objects系統(tǒng)視圖的name列得到。
語法格式:
object_name(object_id)
參數(shù)中的object_id是int數(shù)據(jù)類型的對象標(biāo)識符
返回值:
sysname數(shù)據(jù)類型的邏輯對象名稱。
示例:
select OBJECT_NAME(OBJECT_ID('dbo.Account')) --輸出Account
6、獲取數(shù)據(jù)庫對象屬性值:OBJECTPROPERTY
objectproperty函數(shù)用于獲得指定數(shù)據(jù)庫、指定架構(gòu)下的指定對象的指定屬性的值。
語法格式:
objectproperty(id,property)
參數(shù)說明:
- id:表示要為其返回命名屬性信息的對象的ID,int數(shù)據(jù)類型。
- property:表示要返回的屬性,數(shù)據(jù)類型為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 | 對象的架構(gòu)ID | Int |
OwnerId | 對象的所有者 | Int |
IsView | 是否視圖 | Int 1代表True 0代表False |
IsUserTable | 是否用戶創(chuàng)建表 | Int 1代表True 0代表False |
IsTable | 是否是表 | Int 1代表True 0代表False |
IsSystemTable | 是否系統(tǒng)表 | Int 1代表True 0代表False |
IsPrimaryKey | 是否主鍵 | Int 1代表True 0代表False |
7、獲取文件組標(biāo)識符:FILEGROUP_ID
filegropy_id函數(shù)用于獲取文件組的唯一標(biāo)識符(int數(shù)據(jù)類型)
語法格式:
FILEGROUP_ID( 'filegropy_name' )
參數(shù)中的filegropy_name是sysname類型的數(shù)據(jù)庫名稱,可以從sys.filegroups系統(tǒng)視圖中查詢得到。
返回值:
Int數(shù)據(jù)類型的文件組標(biāo)識符。
示例:
select filegroup_id('NHiberna') --輸出 null select filegroup_id('PRIMARY') --輸出 1
8、獲取文件組名稱:FILEGROUP_NAME
filegroup_name函數(shù)用于獲取文件組的名稱(nvarchar數(shù)據(jù)類型)。
語法格式:
filegroup_name(filegroup_id)
參數(shù)中的filegroup_id是int數(shù)據(jù)類型的文件組標(biāo)識符,要獲得該標(biāo)識符,可以查詢sys.filegroups系統(tǒng)視圖
返回值:
nvarchar(128)數(shù)據(jù)類型的文件組名稱
示例:
select filegroup_name(1) --輸出 PRIMARY
9、獲取文件組屬性值:FILEGROUPPROPERTY
filegroupproperty函數(shù)用于獲得指定文件組的指定屬性值。
語法格式:
filegroupproperty(filegroupname,property)
參數(shù)說明:
- filegroup_name:表示要為其返回屬性信息的文件組名稱,nvarchar(128)數(shù)據(jù)類型,可以通過sys.filegroups列獲得。
- property:表示要返回的屬性,數(shù)據(jù)類型為varchar(128)。
常見的property屬性值列表
屬性值
屬性值 | 說明 | 返回值 |
---|---|---|
IsReadOnly | 文件組是否只讀 | Int、Null |
IsUserDefinedEG | 是否為用戶定義的文件組 | Int、Null |
IsDefault | 是否默認的文件組 | Int、Null |
示例:
select filegroupproperty('PRIMARY','isreadonly') --輸出 0
10、獲得文件標(biāo)識符:FILE_ID
file_id函數(shù)用于獲取數(shù)據(jù)庫的文件,包括日志文件和數(shù)據(jù)文件的標(biāo)識符。文件標(biāo)識符用于在數(shù)據(jù)庫中唯一區(qū)分。
語法格式:
FILE_ID( file_name )
參數(shù)中的file_name是sysname類型的文件名稱,可以通過查詢系統(tǒng)視圖sys.database_files中的name列來獲得。
返回值:
smallint數(shù)據(jù)類型的文件標(biāo)識符。
示例:
select * from sys.database_files --查出有哪些數(shù)據(jù)庫文件 select file_id('NHibernate') --輸出 1 查出NHibernate數(shù)據(jù)庫文件對應(yīng)的fileid
11、獲取文件名稱:FILE_NAME
file_name函數(shù)用于獲取當(dāng)前數(shù)據(jù)庫的邏輯名稱(nvarchar數(shù)據(jù)類型),這里是邏輯名稱而不是包含路徑的物理名稱。
語法格式:
file_name(file_id)
參數(shù)中的file_id是int數(shù)據(jù)類型的數(shù)據(jù)庫標(biāo)識符。可以查詢master數(shù)據(jù)庫的sys.master_files系統(tǒng)視圖的file_id列獲得服務(wù)器上所有數(shù)據(jù)庫的文件ID,也可以查詢某個數(shù)據(jù)庫的sys.database_files系統(tǒng)視圖的file_id列獲得該數(shù)據(jù)庫的文件的ID。
返回值:
nvarchar(128)數(shù)據(jù)類型的邏輯文件名稱。
示例:
select * from sys.database_files --查出有哪些數(shù)據(jù)庫文件 select file_id('NHibernate') --輸出 1 查出NHibernate數(shù)據(jù)庫文件對應(yīng)的fileid select file_name(1) -- 輸出 NHibernate
12、獲取文件屬性值:FILEPROPERTY
fileproperty函數(shù)用于獲得指定文件的指定屬性值。
語法格式:
fileproperty (file_name ,property )
參數(shù)說明:
- file_name:表示要為其返回屬性信息的文件的邏輯名稱,nvarchar(128)數(shù)據(jù)類型,可以通過sys.database_files系統(tǒng)視圖查詢name列獲得。
- property:表示要返回的屬性,數(shù)據(jù)類型為varchar(128)。
常見的property屬性值的取值如下:
屬性值
屬性值 | 說明 | 返回值 |
---|---|---|
IsReadOnly | 文件是否只讀 | Int 1代表True,0代表False |
IsPrimaryFile | 是否為主要數(shù)據(jù)文件 | 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
到此這篇關(guān)于SQL Server元數(shù)據(jù)函數(shù)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SQL Server 2005 數(shù)據(jù)庫轉(zhuǎn) SQL Server 2000的方法小結(jié)
這篇文章主要介紹了SQL Server 2005 數(shù)據(jù)庫轉(zhuǎn) SQL Server 2000的方法,需要的朋友可以參考下2014-04-04MSSQL報錯:參數(shù)數(shù)據(jù)類型 text 對于 replace 函數(shù)的參數(shù) 1 無效的解決辦法
在sql中使用replace函數(shù)可以替換某個字段中的一些內(nèi)容,但是如果字段是text類型那么使用replace函數(shù)就會報“參數(shù)數(shù)據(jù)類型text 對于replace 函數(shù)的參數(shù)1 無效?!?,這個錯誤說明對text或ntext類型的數(shù)據(jù)在查詢中不能進行字符串操作2014-03-03SQL Server 中的數(shù)據(jù)類型隱式轉(zhuǎn)換問題
這篇文章主要介紹了SQL Server 中的數(shù)據(jù)類型隱式轉(zhuǎn)換問題,本文給大家介紹的非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08SQL?Server刪除重復(fù)數(shù)據(jù)只保留一條的實現(xiàn)步驟
在進行數(shù)據(jù)處理和數(shù)據(jù)分析的過程中,我們經(jīng)常會遇到重復(fù)記錄的問題,重復(fù)記錄可能會導(dǎo)致數(shù)據(jù)不準(zhǔn)確,也會增加數(shù)據(jù)處理的工作量,這篇文章主要給大家介紹了關(guān)于SQL?Server刪除重復(fù)數(shù)據(jù)只保留一條的實現(xiàn)步驟,需要的朋友可以參考下2024-01-01SQLServer中JSON文檔型數(shù)據(jù)的查詢問題解決
SQL Server 對于數(shù)據(jù)平臺的開發(fā)者來說越來越友好,下面這篇文章主要給大家介紹了關(guān)于SQLServer中JSON文檔型數(shù)據(jù)的查詢問題的解決方法,需要的朋友可以參考下2021-06-06SQL Server定時收縮數(shù)據(jù)庫日志為指定大小的示例代碼
SQL Server提供了DBCC SHRINKFILE 命令來清理事務(wù)日志文件,該命令可以縮小指定文件的大小,并釋放磁盤空間,本文給大家介紹了SQL Server如何定時收縮數(shù)據(jù)庫日志為指定大小,需要的朋友可以參考下2024-03-03