系統基底資料表
系統基底資料表其實是儲存特定資料庫之中繼資料的基礎資料表。master 資料庫在這方面很特殊,因為它包含其他資料庫中所沒有的額外資料表。這些資料表包含整個伺服器範圍所保存的中繼資料。Resource 資料庫和其他非 master 資料庫包含相同的基底資料表結構描述。不過,因為 Resource 資料庫不可見,所以使用者無法使用或連接它。如需 Resource 資料庫的詳細資訊,請參閱<資源資料庫>。
重要事項 |
---|
系統基底資料表僅用於 SQL Server Database Engine 內部,不供一般客戶使用。它們隨時可以變更,而且不保證其相容性。 |
系統基底資料表中繼資料
例如,在資料庫上,具有 CONTROL、ALTER 或 VIEW DEFINITION 權限的被授與者可以在 sys.objects 目錄檢視中看到系統基底資料表中繼資料。被授與者也可以使用內建的函數 (例如,OBJECT_NAME 和 OBJECT_ID) 來解析系統基底資料表的名稱和物件識別碼。
若要繫結至系統基底資料表,使用者必須使用專用管理員連接 (DAC),連接到 SQL Server 的執行個體。嘗試在不使用 DAC 連接的情況下,從系統基底資料表執行 SELECT 查詢時,會產生錯誤。
重要事項 |
---|
使用 DAC 存取系統基底資料表的設計僅適用於 Microsoft 人員,因此這不是受支援的客戶案例。 |
系統基底資料表
下表列出並描述 SQL Server 中的每個系統基底資料表。
基底資料表 |
說明 |
---|---|
sys.sysschobjs |
存在於每個資料庫中。每一個資料列都代表資料庫中的一個物件。 |
sys.sysbinobjs |
存在於每個資料庫中。資料庫中的每個 Service Broker 實體都包含一個資料列。Service Broker 實體包括下列各項:
名稱和類型會使用修復過的二進位定序。 |
sys.sysclsobjs |
存在於每個資料庫中。每個分類的實體都包含一個資料列,該實體會共用相同的通用屬性,包括:
|
sys.sysnsobjs |
存在於每個資料庫中。每個命名空間範圍的實體都包含一個資料列。此資料表用於儲存 XML 集合實體。 |
sys.syscolpars |
存在於每個資料庫中。資料表、檢視或資料表值函數中的每個資料行都包含一個資料列。
|
sys.systypedsubobjs |
存在於每個資料庫中。每個輸入的子實體都包含一個資料列。目前,只有資料分割函數的參數屬於這個類別目錄。 |
sys.sysidxstats |
存在於每個資料庫中。針對資料表和索引檢視的每個索引或統計資料,各包含一個資料列。
附註
每個索引 (堆積除外) 都與具有相同名稱之索引的統計資料相關聯。
|
sys.sysiscols |
存在於每個資料庫中。每個保存的索引和統計資料資料行都包含一個資料列。 |
sys.sysscalartypes |
存在於每個資料庫中。每個使用者自訂或系統類型都包含一個資料列。 |
sys.sysdbreg |
僅存在於 master 資料庫中。每個註冊的資料庫都包含一個資料列。 |
sys.sysxsrvs |
僅存在於 master 資料庫中。每個本機、連結或遠端伺服器都包含一個資料列。 |
sys.sysrmtlgns |
此系統基底資料表僅存在於 master 資料庫中。每個遠端登入對應都包含一個資料列。這用來將宣告為來自對應伺服器的內送登入對應至實際的本機登入。 |
sys.syslnklgns |
僅存在於 master 資料庫中。每個連結登入對應都包含一個資料列。連結登入對應是由從遠端伺服器發出到對應連結伺服器的遠端程序呼叫和分散式查詢所使用。 |
sys.sysxlgns |
僅存在於 master 資料庫中。每個伺服器主體都包含一個資料列。 |
sys.sysdbfiles |
存在於每個資料庫中。如果 dbid 資料行為零,資料列代表屬於此資料庫的檔案。在 master 資料庫中,dbid 資料行可以是非零。如果是這個情況,資料列代表主檔案。 |
sys.sysusermsg |
僅存在於 master 資料庫中。每個資料列都代表一個使用者自訂的錯誤訊息。 |
sys.sysprivs |
存在於每個資料庫中。每個資料庫或伺服器層級的權限都包含一個資料列。
附註
伺服器層級的權限會儲存在 master 資料庫中。
|
sys.sysowners |
存在於每個資料庫中。每個資料列都代表一個資料庫主體。 |
sys.sysobjkeycrypts |
存在於每個資料庫中。與物間相關聯的每個對稱金鑰、加密或密碼編譯屬性都包含一個資料列。 |
sys.syscerts |
存在於每個資料庫中。資料庫中的每個憑證都包含一個資料列。 |
sys.sysasymkeys |
存在於每個資料庫中。每個資料列都代表一個非對稱金鑰。 |
sys.ftinds |
存在於每個資料庫中。資料庫中的每個全文檢索索引都包含一個資料列。 |
sys.sysxprops |
存在於每個資料庫中。每個擴充屬性都包含一個資料列。 |
sys.sysallocunits |
存在於每個資料庫中。每個儲存配置單位都包含一個資料列。 |
sys.sysrowsets |
存在於每個資料庫中。索引或堆積的每個資料分割資料列集都包含一個資料列。 |
sys.sysrowsetrefs |
存在於每個資料庫中。資料列集參考的每個索引都包含一個資料列。 |
sys.syslogshippers |
僅存在於 master 資料庫中。針對每個資料庫鏡像見證都包含一個資料列。 |
sys.sysremsvcbinds |
存在於每個資料庫中。每個遠端服務繫結都包含一個資料列。 |
sys.sysconvgroup |
存在於每個資料庫中。Service Broker 中的每個服務執行個體都包含一個資料列。 |
sys.sysxmitqueue |
存在於每個資料庫中。每個 Service Broker 傳輸佇列都包含一個資料列。 |
sys.sysdesend |
存在於每個資料庫中。Service Broker 轉換的每個傳送端點都包含一個資料列。 |
sys.sysdercv |
存在於每個資料庫中。Service Broker 轉換的每個接收端點都包含一個資料列。 |
sys.sysendpts |
僅存在於 master 資料庫中。在伺服器中建立的每個端點都包含一個資料列。 |
sys.syswebmethods |
僅存在於 master 資料庫中。在 SOAP 之 HTTP 端點 (在伺服器中建立的) 上定義的每個 SOAP 方法都包含一個資料列。 |
sys.sysqnames |
存在於每個資料庫中。每個命名空間或符合 4 位元組識別碼語彙基元的名稱都包含一個資料列。 |
sys.sysxmlcomponent |
存在於每個資料庫中。每個資料列都代表一個 XML 結構描述元件。 |
sys.sysxmlfacet |
存在於每個資料庫中。XML 類型定義的每個 XML Facet (限制) 都包含一個資料列。 |
sys.sysxmlplacement |
存在於每個資料庫中。XML 元件的每個 XML 位置都包含一個資料列。 |
sys.syssingleobjrefs |
存在於每個資料庫中。每個一般 N 對 1 參考都包含一個資料列。 |
sys.sysmultiobjrefs |
存在於每個資料庫中。每個一般 N 對 N 參考都包含一個資料列。 |
sys.sysobjvalues |
存在於每個資料庫中。實體的每個一般值屬性都包含一個資料列。 |
sys.sysguidrefs |
存在於每個資料庫中。每個 GUID 分類的識別碼參考都包含一個資料列。 |