Applies to:SQL Server
Azure SQL Database
Azure SQL Managed Instance
信息架构视图是 SQL Server 用于获取元数据的几种方法之一。 信息架构视图提供与系统无关的内部 SQL Server 元数据视图。 信息架构视图使应用程序能够正常运行,尽管对基础系统表进行了重大更改。 SQL Server 中包含的信息架构视图符合 ISO 标准定义 INFORMATION_SCHEMA
。
Important
对破坏向后兼容性的信息架构视图进行了一些更改。 有关特定视图的文章中介绍了这些更改。
引用当前服务器时,SQL Server 支持由三部分构成的命名约定。 ISO 标准也支持三部分命名约定。 但是,两种命名约定中使用的名称并不相同。 信息架构视图是在名为 <
SQL Server 名称 | 对应的 SQL 标准等价名称 |
---|---|
Database | Catalog |
Schema | Schema |
Object | Object |
用户定义的数据类型 | Domain |
此名称映射约定适用于以下 SQL Server ISO 兼容视图。
- CHECK_CONSTRAINTS
- COLUMN_DOMAIN_USAGE
- COLUMN_PRIVILEGES
- COLUMNS
- CONSTRAINT_COLUMN_USAGE
- CONSTRAINT_TABLE_USAGE
- DOMAIN_CONSTRAINTS
- DOMAINS
- KEY_COLUMN_USAGE
- PARAMETERS
- REFERENTIAL_CONSTRAINTS
- ROUTINE_COLUMNS
- ROUTINES
- SCHEMATA
- TABLE_CONSTRAINTS
- TABLE_PRIVILEGES
- TABLES
- VIEW_COLUMN_USAGE
- VIEW_TABLE_USAGE
- VIEWS
此外,某些视图还包含对其他类的数据(如字符数据或二进制数据)的引用。
引用信息架构视图时,必须使用包含 INFORMATION_SCHEMA
架构名称的限定名。 For example:
USE AdventureWorks2022;
GO
SELECT TABLE_CATALOG,
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME,
COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Product';
Permissions
信息架构视图中元数据的可见性仅限于用户拥有或向其授予某些权限的安全对象。 有关详细信息,请参阅 Metadata Visibility Configuration。
信息架构视图在服务器范围内定义,因此无法在用户数据库的上下文中被拒绝。 若要 REVOKE
或 DENY
访问 (SELECT
), master
必须使用数据库。 默认情况下,公共角色对所有信息架构视图具有 SELECT
-权限,但内容受限于元数据可见性规则。
不能拒绝访问 Azure SQL 数据库中的信息架构视图。