首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 系統表功能詳細對照表 (Master 與使用者資料庫)

     編輯:關於SqlServer

Master 資料庫系統表 (伺服器層級)

系統表功能說明
sysaltfiles保存所有資料庫的檔案資訊 (邏輯名、實體路徑、大小、成長設定)
syscharsets字元集與排序順序定義
sysconfigures伺服器配置選項 (對應 sp_configure)
syscurconfigs目前生效的配置選項值
sysdatabases伺服器上所有資料庫的基本屬性
syslanguages支援的語言清單
syslogins伺服器登入帳戶資訊 (SID、密碼雜湊、預設資料庫、語言等)
sysoledbusers連結伺服器遠端登入對應資訊
sysprocesses目前所有處理序/連線狀態 (SPID、狀態、命令、CPU、I/O、阻塞、SQL 文字)
sysremotelogins遠端伺服器登入對應

各使用者資料庫系統表 (資料庫層級)

系統表功能說明
syscolumns所有資料表/檢視的欄位定義 (名稱、型別、長度、精度、標度、可否為 NULL、預設值、身分識別屬性)
sysconstraints約束定義 (主鍵、外鍵、CHECK、DEFAULT、UNIQUE)
sysfilegroups檔案群組資訊
sysfiles資料庫檔案資訊 (邏輯名、實體路徑、大小、最大值、檔案成長)
sysforeignkeys外鍵關係詳細定義 (參考資料表/欄位、更新/刪除規則)
sysindexes索引/統計資料/堆積/資料分割資訊 (索引鍵、頁數、資料列數、填滿因子、統計資料日期)
sysmembers資料庫角色成員對應 (角色與用戶/群組關係)
sysobjects所有資料庫物件 (資料表、檢視、預存程序、觸發器、規則、預設值、檢查約束等)
syspermissions物件權限記錄 (GRANT/DENY/REVOKE、授權者/被授權者、資料行級權限)
systypes系統與使用者定義資料型別
sysusers資料庫使用者與角色 (SID、名稱、登入對應、群組隸屬)

現代化替代:目錄檢視對照 (SQL Server 2005+ 強烈建議)

舊系統表目錄檢視 / DMV優勢
sysobjectssys.objects, sys.tables, sys.views, sys.procedures類型欄位明確、支援篩選、效能佳
syscolumnssys.columns包含計算欄位、稀疏欄位等新屬性
sysindexessys.indexes, sys.partitions, sys.allocation_units正規化設計、支援分割資料表、記憶體最佳化
sysusers/sysloginssys.database_principals, sys.server_principals統一主體模型、支援含資料庫用戶、應用程式角色
sysprocessessys.dm_exec_requests, sys.dm_exec_sessions, sys.dm_exec_connectionsDMV 架構、豐富等待統計、查詢計畫關聯
sysdatabasessys.databases包含資料庫鏡像、可用性群組、加密等新屬性

快速查詢範例

列出所有使用者資料表及欄位數

SELECT 
    o.name AS TableName,
    COUNT(c.id) AS ColumnCount
FROM sysobjects o
JOIN syscolumns c ON o.id = c.id
WHERE o.xtype = 'U'
GROUP BY o.name
ORDER BY ColumnCount DESC;

檢視資料庫檔案空間使用

SELECT 
    name AS LogicalName,
    filename AS PhysicalPath,
    size/128.0 AS SizeMB,
    maxsize/128.0 AS MaxSizeMB,
    growth/128.0 AS GrowthMB
FROM sysfiles;

熟悉系統表結構是深入理解 SQL Server 內部運作、撰寫高效管理腳本的基礎。新專案請優先使用目錄檢視與 DMV。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved