信息架构视图 (Transact-SQL)
信息架构视图是 SQL Server 提供的几种获取元数据的方法之一。
![]() |
---|
对中断向后兼容性的信息架构视图已进行了一些更改。这些更改在特定视图的主题中进行了说明。 |
![]() |
---|
信息架构视图提供 SQL Server 元数据的独立于系统表的内部视图。尽管已经对基础系统表进行了重要的修改,信息架构视图仍然可使应用程序正常工作。SQL Server 中包含的信息架构视图符合 INFORMATION_SCHEMA 的 ISO 标准定义。 |
引用当前服务器时,SQL Server 支持三部分命名约定。ISO 标准也支持三部分命名约定。但是,两种命名约定中使用的名称并不相同。信息架构视图是在名为 INFORMATION_SCHEMA 的特殊架构中定义的。此架构包含在每个数据库中。每个信息架构视图均包含存储在特定数据库中的所有数据对象的元数据。下表显示了 SQL Server 名称和 SQL 标准名称之间的关系。
SQL Server 名称 |
对应的 SQL 标准等价名称 |
---|---|
数据库 |
目录 |
架构 |
架构 |
对象 |
对象 |
用户定义数据类型(别名) |
域 |
上述名称映射约定适用于以下与 ISO 兼容的 SQL Server 视图。
某些视图包含对其他类的数据(如字符数据或二进制数据)的引用。
如上例中所示,引用信息架构视图时,必须使用包含 INFORMATION_SCHEMA 架构名称的限定名。
USE AdventureWorks;
GO
SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;