2013-03-05 83 views
9

我一直在负责创建一个查询,将返回以下数据中的所有对象:如何获得所有扩展属性的列表

[架构名],[对象名称],[扩展属性名称] [扩展特性值]

任何想法如何实现这一点?我找到了fn_listextendedproperty函数,但这并没有多大帮助。

回答

15

使用此查询这列具体:

SELECT S.name as [Schema Name], O.name AS [Object Name], ep.name, ep.value AS [Extended property] 
FROM sys.extended_properties EP 
INNER JOIN sys.all_objects O ON ep.major_id = O.object_id 
INNER JOIN sys.schemas S on O.schema_id = S.schema_id 
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id 

使用此查询所有扩展性质在:

SELECT S.name as [Schema Name], O.name AS [Object Name], ep.name, ep.value AS [Extended property] 
FROM sys.extended_properties EP 
LEFT JOIN sys.all_objects O ON ep.major_id = O.object_id 
LEFT JOIN sys.schemas S on O.schema_id = S.schema_id 
LEFT JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id 
+4

让那些每个左连接。数据库扩展属性不匹配(空模式和对象名称),并且列上的内连接会抛出所有不是列专用的扩展属性。 – jnm2 2013-08-27 14:05:01

相关问题