適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 中的 SQL 資料庫
信息架構檢視是 SQL Server 用來取得元數據的數種方法之一。 信息架構檢視提供 SQL Server 元數據的內部系統數據表獨立檢視。 信息架構檢視可讓應用程式正常運作,儘管對基礎系統數據表做了重大變更。 SQL Server 中包含的信息架構檢視符合 的 INFORMATION_SCHEMAISO 標準定義。
Important
已對中斷回溯相容性的資訊架構檢視進行一些變更。 這些變更會在特定檢視的文章中說明。
當您參考目前伺服器時,SQL Server 支援三部分命名慣例。 ISO 標準也支援三部分命名慣例。 不過,這兩種命名慣例中使用的名稱不同。 信息架構檢視是在名為 INFORMATION_SCHEMA的特殊架構中定義。 此架構包含在每個資料庫中。 每個資訊架構檢視都包含儲存在該特定資料庫中之所有數據物件的元數據。 下表顯示 SQL Server 名稱與 SQL 標準名稱之間的關聯性。
| 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 限定名稱。 例如:
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 Database 中的資訊架構檢視。