Sql Server:如何获取有关表及其关系的元数据?

时间:2011-04-06 14:58:35

标签: sql-server metadata

我想知道是否有办法(我希望相对简单)获取有关该表及其属性和实际情况的信息?

澄清:我想获取数据库中的所有表,并获取整个数据库的元模型,表,列数据,指标,唯一约束,表之间的关系等。

5 个答案:

答案 0 :(得分:3)

系统在sys.tables,sys.columns,sys.indexes和其他各种表中都有一个数据字典。您可以查询这些表以获取有关数据库结构的元数据。 This posting有一个我几年前编写的脚本来反向工程数据库模式。如果你看一下它,你可以看到一些如何使用系统数据字典表的例子。

答案 1 :(得分:2)

sql server 2005+中的information_schema架构中有很多系统视图。你有什么特别需要的吗?

其中一些观点包括: check_contraints, 列, 表, 视图

答案 2 :(得分:1)

试试sp_help <tablename>。这将显示外键引用和有关列等的数据 - 也就是说,如果您对特定表感兴趣,正如您的问题似乎表明的那样。

答案 3 :(得分:0)

如果使用.NET代码是一种选择,SMO是最好的方法。

它抽象出所有这些系统视图和表,将它们隐藏在易于使用的类和集合之后。 http://msdn.microsoft.com/en-us/library/ms162169.aspx

这与SQL Server Management Studio使用的基础结构相同。它甚至支持脚本。

抽象是有代价的,所以你需要最大的性能,你仍然需要使用系统视图和自定义SQL。

答案 4 :(得分:0)

您可以尝试使用此库db-meta