本系列文章的第一部分介绍了元数据的基本情况,以及如何利用它们查看对象名称和ID。本文讲解了其它元数据函数的用法,比如如何查看各种对象的属性设置。然后,第三部分会探索对数据库文件和文件组信息的使用。 查看对象属性 下一组元数据函数支持你获取各种数据库对象的属性设置。
在大部分这些函数中,你必须提供至少两个参数。一个参数指定具体对象,另一个指定你想获取的属性设置。 注意:要查看函数支持的属性列表,请查看SQL Server联机丛书关于该函数的主题。该主题提供了对该属性返回值的每个属性和明细的描述。
我们要看的第一个函数是“DATABASEPROPERTYEX”。下面的SELECT语句……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
本系列文章的第一部分介绍了元数据的基本情况,以及如何利用它们查看对象名称和ID。本文讲解了其它元数据函数的用法,比如如何查看各种对象的属性设置。然后,第三部分会探索对数据库文件和文件组信息的使用。
查看对象属性
下一组元数据函数支持你获取各种数据库对象的属性设置。在大部分这些函数中,你必须提供至少两个参数。一个参数指定具体对象,另一个指定你想获取的属性设置。
注意:要查看函数支持的属性列表,请查看SQL Server联机丛书关于该函数的主题。该主题提供了对该属性返回值的每个属性和明细的描述。
我们要看的第一个函数是“DATABASEPROPERTYEX”。下面的SELECT语句列出了该函数的三个例子,每个例子中都指定了不同的属性:
SELECT DATABASEPROPERTYEX('AdventureWorks2008', 'Collation') AS Collation, DATABASEPROPERTYEX('AdventureWorks2008', 'IsAutoShrink') AS AutoShrink, DATABASEPROPERTYEX('AdventureWorks2008', 'IsFullTextEnabled') AS FullTextEnabled; |
你可以看到,我首先指定了数据库(AdventureWorks2008)的名称,然后指定了属性名称(分别是:Collation, IsAutoShrink 和 IsFullTextEnabled)。该SELECT语句返回结果如下:
Collation | AutoShrink | FullTextEnabled |
SQL_Latin1_General_CP1_CI_AS | 0 | 1 |
“Collation”属性返回指定名称数据库的默认排序规则,而“IsAutoShrink” 属性指定数据库文件是否设置为自动收缩模式。对于名称以“Is”打头的属性,返回值“1”表示“True”,返回值“0”表示“False”。如下面的结果所示,“AdventureWorks2008 ”数据库没有设置为自动收缩模式,而“IsFullTextEnabled ”表示指定数据库启用了全文搜索功能。
“OBJECTPROPERTYEX ”函数返回启用范围对象的属性设置。该函数有两个参数:对象ID和属性名称。例如,下面的SELECT语句返回“SalesPerson ”表的属性设置,它的对象ID是“1298103665”:
SELECT OBJECTPROPERTYEX(1298103665, 'BaseType') AS BaseType, OBJECTPROPERTYEX(1298103665, 'IsIndexed') AS Indexed, OBJECTPROPERTYEX(1298103665, 'IsUserTable') AS UserTable; |
我指定了三个属性:“BaseType”表示对象的基本类型,“IsIndexed ”表示索引是否定义在该对象上,“IsUserTable ”表示对象是否是用户定义的表。该SELECT语句返回如下结果:
BaseType | Indexed | UserTable |
U | 1 | 1 |
因为“BaseType”属性返回值为“U”,我们知道该对象是一个用户定义的表。值“U”是该对象的基本ID。你可以在SQL Server联机丛书“sys.objects (Transact-SQL)”主题中找到一个基本ID列表。
“IsIndexed ”属性返回为“True”(1),因此我们知道该表是有索引的,“IsUserTable ”属性也返回“True”,因此我们知道该对象是一个用户定义的表。
翻译
TechTarget特邀编辑。2003年入软件行业,熟悉软件过程所有环节,对机构信息化的各方面有深入理解和实践经验。现就职于某互联网创业公司,目前关注互联网分布式系统架构和机器学习。喜欢传统文化社科哲学(尤喜《周易》、《老子》),喜健身喜抓举(具备抱人引体向上的能力),喜欢中国象棋(具备盲棋1对2的能力)。
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
横向扩展SQL Server应用程序:提高工作负载的选项
SQL Server管理员面临的最大挑战之一就是扩展数据库以适应更为繁重的数据处理工作负载。然而事情越发复杂的是,虽然Microsoft提供了许多不同的SQL Server可扩展性选项,但它们并不都适合于每种情况。
-
五大技巧构建首个SQL Server容器
容器的世界庞大而复杂,使用者可能会感到困扰,这里我们将列出一些示例,以便引导您顺利完成SQL Server容器的创建和管理。