Microsoft® SQL Server™ 提供下面兩種獲取元數(shù)據(jù)的方法:系統(tǒng)存儲過程和信息架構視圖。
說明 若要獲取元數(shù)據(jù),請使用系統(tǒng)存儲過程、系統(tǒng)函數(shù)或只是這些系統(tǒng)提供的視圖。如果在將來的版本中對系統(tǒng)表進行修改,那么直接查詢系統(tǒng)表可能不會提供準確的信息。
這些視圖提供關于 SQL Server 元數(shù)據(jù)的獨立于系統(tǒng)表的內(nèi)部視圖。即使已經(jīng)對系統(tǒng)表進行了重要的修改,信息架構視圖也允許應用程序正常地工作。SQL Server 中包含的信息架構視圖符合 SQL-92 標準針對 INFORMATION_SCHEMA 的定義。
SQL Server 支持使用三段命名規(guī)則引用當前的服務器。SQL-92 標準也支持三段命名規(guī)則。但是,在兩個命名規(guī)則中使用的名稱是不同的。這些視圖在一個名為 INFORMATION_SCHEMA 的特殊架構中定義。每個數(shù)據(jù)庫都包含這個架構。每個 INFORMATION_SCHEMA 視圖中都包含特定數(shù)據(jù)庫中存儲的所有數(shù)據(jù)對象的元數(shù)據(jù)。下表描述 SQL Server 名稱和 SQL-92 標準名稱之間的關系。
SQL Server 名稱 | 映射到下面等價的 SQL-92 名稱 |
---|---|
數(shù)據(jù)庫 | 目錄 |
所有者 | 架構 |
對象 | 對象 |
用戶定義數(shù)據(jù)類型 | 域 |
這個命名規(guī)則映射適用于那些與 SQL Server SQL-92 兼容的視圖。這些視圖在一個名為 INFORMATION_SCHEMA 的特殊架構中定義。每個數(shù)據(jù)庫都包含這個架構。每個 INFORMATION_SCHEMA 視圖中都包含特定數(shù)據(jù)庫中存儲的所有數(shù)據(jù)對象的元數(shù)據(jù)。
此外,有些視圖還包含對不同數(shù)據(jù)類(例如字符數(shù)據(jù)或二進制數(shù)據(jù))的引用。
引用信息架構視圖時,必須在通常指定用戶名稱的位置使用包含 INFORMATION_SCHEMA 架構名稱的完全合格的名稱。例如:
相關文章SELECT *
FROM Northwind.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'