Sql server SQL Server元数据:如何获取视图中列的说明

Sql server SQL Server元数据:如何获取视图中列的说明,sql-server,metadata,database-schema,Sql Server,Metadata,Database Schema,SQLServer允许存储元数据,如表及其列的描述。可以从sys.extended_属性中检索列的说明。还有一种方法可以设置视图的描述(使用“属性”窗口)。但是没有办法(或者至少我现在不知道)将列的描述放到视图中 对于特定的开发,我们将描述保存在数据库本身中。这使我们能够将其保存在一个地方并对其进行报告 我们希望扩大这一范围,以包括这些观点 有人能帮上忙吗?有一个旁路解决方案。为每个视图创建一个表,从那里开始,它将与您所做的相同。比方说,您有一个视图作为view\u TEMP,然后写: SELE

SQLServer允许存储元数据,如表及其列的描述。可以从sys.extended_属性中检索列的说明。还有一种方法可以设置视图的描述(使用“属性”窗口)。但是没有办法(或者至少我现在不知道)将列的描述放到视图中

对于特定的开发,我们将描述保存在数据库本身中。这使我们能够将其保存在一个地方并对其进行报告

我们希望扩大这一范围,以包括这些观点


有人能帮上忙吗?

有一个旁路解决方案。为每个视图创建一个表,从那里开始,它将与您所做的相同。比方说,您有一个视图作为
view\u TEMP
,然后写:

SELECT * INTO TABLE_FOR_VIEW_TEMP FROM VIEW_TEMP

将创建一个表,您可以使用您的文档。

当然,SQL Server支持根据存储和检索元数据值,但我认为Management Studio不支持类似于属性窗口的内容

您可以使用及其相关功能来维护说明等,例如:

EXEC sp_addextendedproperty 
@name = N'Description', 
@value = 'Postal Code lorem ipsum...',
@level0type = N'Schema', @level0name = 'dbo',
@level1type = N'View',  @level1name = 'MyView',
@level2type = N'Column', @level2name = 'PostCodeColumn';

使用SSMS 2008,它可以正常工作。使用对象资源管理器并在视图中选择列的属性

它不适用于SSMS 2005。“ColumnName”列将出现异常
Alter failed。无法修改或创建视图列。(Microsoft.SqlServer.Smo)


但是您可以使用SSMS 2008将元数据添加到SQL Server 2005数据库。

文档不是最终目标。目标是并排维护文档和结构。因此,文档也可以保存在word文档中,但是维护两个不相交的文档是一件痛苦的事情,您正在提出类似的建议。@Kangkan–使用SSMS 2008,它对表和视图都有效。在SSMS2005中,它适用于表,但不适用于视图。但是,将添加MS_说明列。非常感谢。另一个想法是,我可以从视图的基表中提取描述吗?@Kangkan–是的,您可以在
sys.extended_properties
中找到它们。这样,更新所有视图的列将非常困难。我想要的是一种互动的方式。