本系列文章的第一部分讲解了如何使用基本的元数据函数查看对象名称和ID,第二部分介绍了另外的元数据函数的用法,比如如何查看各种对象的属性设置。在本文中,你将学会如何利用元数据函数查看数据库文件和文件组的详细信息。 查看文件信息 除了获取对象和属性的信息,你还可以利用元数据函数查看有关数据库文件和它们文件组的有关详细信息。例如,在下面的例子中,我利用“FILE_IDEX”,“FILE_NAME”,“FILEGROUP_ID”和“ FILEGROUP_NAME”函数来获取支持“AdventureWorks2008 ”数据库的有关文件和文件组的数据: SELECT FILE_IDEX(……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
本系列文章的第一部分讲解了如何使用基本的元数据函数查看对象名称和ID,第二部分介绍了另外的元数据函数的用法,比如如何查看各种对象的属性设置。在本文中,你将学会如何利用元数据函数查看数据库文件和文件组的详细信息。
查看文件信息
除了获取对象和属性的信息,你还可以利用元数据函数查看有关数据库文件和它们文件组的有关详细信息。例如,在下面的例子中,我利用“FILE_IDEX”,“FILE_NAME”,“FILEGROUP_ID”和“ FILEGROUP_NAME”函数来获取支持“AdventureWorks2008 ”数据库的有关文件和文件组的数据:
SELECT FILE_IDEX('AdventureWorks2008_Data') AS FileId, FILE_NAME(1) AS FileName, FILEGROUP_ID('primary') AS FileGroupId, FILEGROUP_NAME(1) AS FileGroupName; |
“FILE_IDEX”函数返回与数据库文件相关联的ID。你可以看到,调用该函数时,你必须传递一个文件名作为参数。“ FILE_NAME”函数根据你参数中输入的ID返回对应的文件名。“ FILEGROUP_ID”函数返回文件组相关联的ID。同样,你必须提供文件组的名称。最后,“FILEGROUP_NAME”函数根据你提供的ID返回文件组的名称。下面的SELECT语句返回了如下结果:
FileId | FileName | FileGroupId | FileGroupName |
1 | AdventureWorks2008_Data | 1 | PRIMARY |
结果确认,“AdventureWorks2008_Data”文件的ID是1,主文件组的ID也是1。
SQL Server还支持用元数据函数查看文件和文件组的属性。例如,你可以利用“FILEPROPERTY ”函数获取指定文件的属性设置。要使用该函数,你必须指定文件名以及属性名称,请看下面的SQL语句:
SELECT FILEPROPERTY('AdventureWorks2008_Data', 'IsReadOnly') AS ReadOnly, FILEPROPERTY('AdventureWorks2008_Data', 'IsPrimaryFile') AS PrimaryFile, FILEPROPERTY('AdventureWorks2008_Data', 'SpaceUsed') AS SpaceUsed; |
你可以看到,“FILEPROPERTY ”函数与你之前看到的属性函数类似。首先,我指定了文件名(AdventureWorks2008_Data),然后又指定了属性名。“IsReadOnly ”属性表示文件是否是只读的,“IsPrimaryFile ”属性表示该文件是否是主数据库文件,“SpaceUsed ”属性表示已经给该文件分配了多少页。如下表所示,该文件不是只读的,但是它是主文件,它已经被分配了23240页:
ReadOnly | PrimaryFile | SpaceUsed |
0 | 1 | 23240 |
SQL Server还支持“FILEGROUPPROPERTY ”函数,你可以用它查看文件组明细信息。同样,你必须指定两个参数:文件组名称和属性名称。在下面的SELECT语句中,我获取了主文件组的信息:
SELECT FILEGROUPPROPERTY('primary', 'IsReadOnly') AS ReadOnly, FILEGROUPPROPERTY('primary', 'IsUserDefinedFg') AS UserDefined, FILEGROUPPROPERTY('primary', 'IsDefault') AS DefaultFg; |
正如你所预料的,“IsReadOnly ”属性表示该文件组是否是只读,“IsUserDefinedFg ”属性表示是否是用户定义的文件组,“IsDefault ”属性表示该文件组是否是默认的文件组。下面的结果展示了该文件组既不是只读的,也不是用户定义的,但是它是默认的文件组:
ReadOnly | UserDefined | DefaultFg |
0 | 0 | 1 |
到目前为止,你应该已经掌握元数据函数了。在这一组简短的系列文章中,我给你介绍了各种元数据函数,但是,出于简洁性考虑,我没有讲解到每个函数的细节,以及在T-SQL语句中,你可以怎样进一步地利用这些函数。也就是说,我没有深入介绍这些函数的限制和约束,但是你可以通过阅读SQL Server联机丛书中相关函数的主题来了解这些细节信息。经过了这一系列的学习,你现在应该对这些函数足够熟悉了,可以访问每个数据库中可用的大部分元数据了。
翻译
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
数据库和数据仓库的区别在哪儿?
目前,大部分数据仓库还是用数据库进行管理。数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。
-
如何使用服务来平衡Oracle RAC 数据库工作负载
为不同的应用程序配置不同的服务,DBA可以更有效地平衡集群工作负载,在Oracle RAC数据库环境下实现更好的应用程序性能。