信息架构视图是 SQL Server 提供的几种获取元数据的方法之一。
对中断向后兼容性的信息架构视图已进行了一些更改。这些更改在特定视图的主题中进行了说明。
信息架构视图提供 SQL Server 元数据的独立于系统表的内部视图。尽管已经对基础系统表进行了重要的修改,信息架构视图仍然可使应用程序正常工作。SQL Server 中包含的信息架构视图符合 INFORMATION_SCHEMA 的 ISO 标准定义。
引用当前服务器时,SQL Server 支持三部分命名约定。ISO 标准也支持三部分命名约定。但是,两种命名约定中使用的名称并不相同。信息架构视图是在名为 INFORMATION_SCHEMA 的特殊架构中定义的。此架构包含在每个数据库中。每个信息架构视图均包含存储在特定数据库中的所有数据对象的元数据。下表显示了 SQL Server 名称和 SQL 标准名称之间的关系。
SQL Server 名称
对应的 SQL 标准等价名称
数据库
目录
架构
对象
用户定义数据类型
域
上述名称映射约定适用于以下与 ISO 兼容的 SQL Server 视图。
CHECK_CONSTRAINTS
REFERENTIAL_CONSTRAINTS
COLUMN_DOMAIN_USAGE
ROUTINES
COLUMN_PRIVILEGES
ROUTINE_COLUMNS
COLUMNS
SCHEMATA
CONSTRAINT_COLUMN_USAGE
TABLE_CONSTRAINTS
CONSTRAINT_TABLE_USAGE
TABLE_PRIVILEGES
DOMAIN_CONSTRAINTS
TABLES
DOMAINS
VIEW_COLUMN_USAGE
KEY_COLUMN_USAGE
VIEW_TABLE_USAGE
PARAMETERS
VIEWS
此外,某些视图还包含对其他类的数据(如字符数据或二进制数据)的引用。
引用信息架构视图时,必须使用包含 INFORMATION_SCHEMA 架构名称的限定名。例如:
SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_DEFAULT FROM AdventureWorks2008R2.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Product'; GO