sql-server - SQL Server - 表元数据

标签 sql-server database metadata database-administration database-table

我在 SQL Server 数据库中有 1000 个表。

如果我想添加一个关于每个表在我的应用程序中的作用的简短描述,我是否应该创建另一个表来维护该信息?或者有更好的方法吗?

例如;如果有一个表 [PurchaseOrdersConcrete] 并且我想指出 - 此表存储来自财富 500 强公司的所有 PO。

我应该为此目的创建另一个元数据表,还是在 SQL Server 的某处已经有一个 - Notes - 列......(比如在 sys.tables)?

最佳答案

您可以通过扩展属性来做到这一点。 usage of them can be found here 的 msdn 概述.我已将它们用于您上面描述的确切目的。

管理它们的最简单方法是直接在 SSMS 中右键单击您的对象并选择属性。但您也可以通过 tsql 在您的应用程序中使用它们。

要添加新的扩展属性,请使用 sp_addextendedproperty .

要检索现有的扩展属性,一种典型的方法是查询 ::fn_listextendedproperty如下例所示。

SELECT   objType, objName, Type, Value
FROM   ::fn_listextendedproperty (null, 'user',
 'dbo', 'table','<your table>', null, null)

通过使用 sp_updateextendedproperty 可以对它们进行更新和删除操作和 sp_dropextendedproperty


此外,SSMS 将它们用于它自己的一些元数据。查看它们的运行方式的一种方法是查看 SSMS 中的一个 View 。右键单击它并选择属性。然后单击“扩展属性”。您可能会看到一个条目,上面写着一些关于 MS_DiagramPane??? 的内容。这是 MS 存储您的 View 布局的位置,以便每次您在设计模式下打开 View 时,它看起来都与您上次离开时​​的样子相同。

这些已作为 far back as SQL2000 提供但最近得到了广泛使用。

关于sql-server - SQL Server - 表元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980032/

相关文章:

android - SQLite数据库:- Activity unable to start activity info

mysql - SQL 是否有类似 Django 的 "get_FOO_display()"?

c# - 以编程方式连接和刷新 SQL Server Analysis Service 上的表格数据模型

mongodb - 如何 MongoDB 更新/$设置整个子文档

mysql - SQL查询,多次对ID中的相同条目求和

java - 如何使用 PDFbox 将元数据添加到 PDF 文档?

sql-server - 使用 openrowset 将 Excel 文件读入临时表;我如何引用该表?

sql - 带分组的案例陈述

android - 如何从 Android 中的图像文件中检索元数据

php - 将自定义字段添加到管理产品中 WooCommerce 3.2+ 中的快速编辑