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

SQL Server 系統資料表完整清單與核心欄位說明

     編輯:關於SqlServer

SQL Server 系統資料表儲存中繼資料,分為「主資料庫 (master) 系統表」與「各資料庫系統表」兩大類。注意:直接查詢/修改系統表已不建議,請改用目錄檢視 (Catalog Views, 如 sys.databases, sys.tables, sys.columns) 或資訊結構描述檢視 (INFORMATION_SCHEMA.*)。

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

系統表用途核心欄位範例
sysaltfiles所有資料庫檔案路徑與大小fileid, groupid, size, maxsize, growth, dbid, name, filename
syscharsets字符集與排序規則定義type, id, csid, status, name, definition
sysconfigures伺服器組態選項 (sp_configure)comment: 配置值存儲
syscurconfigs目前生效組態值value, config
sysdatabases伺服器上所有資料庫dbid, name, sid, mode, status, crdate, filename
syslanguages支援語言清單langid, dateformat, datefirst, name, alias
syslogins伺服器登入帳戶sid, name, password, dbname, language, isntname, isntgroup
sysoledbusers連結伺服器登入對應rmtsrvid, loginsid, rmtloginame, rmtpassword
sysprocesses目前執行緒/連線程序spid, kpid, blocked, waittype, lastwaittype, dbid, uid, loginame, hostname, program_name, login_time, cmd, cpu, physical_io, memusage, open_tran
sysremotelogins遠端登入對應remoteserverid, sid, remoteusername

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

系統表用途核心欄位範例
syscolumns資料表/視圖欄位定義id, name, xtype, length, xprec, xscale, cdefault, status, colid
sysconstraints條件約束定義id, colid, status, constid
sysfilegroups檔案群組groupid, groupname, status
sysfiles資料庫檔案fileid, groupid, size, maxsize, growth, name, filename
sysforeignkeys外來鍵關聯constid, fkeyid, rkeyid, fkey, rkey
sysindexes索引與統計資料id, indid, name, first, root, dpages, used, rowcnt, status
sysmembers資料庫角色成員memberuid, groupuid
sysobjects所有資料庫物件id, name, xtype (U=table, P=proc, V=view, TR=trigger), uid, crdate, refdate
syspermissions物件權限id, grantee, grantor, type, action, protecttype
systypes使用者定義資料類型xtype, name, length, xprec, xscale, default, rule, domain
sysusers資料庫使用者uid, name, gid, loginname, createdate

現代替代查詢方式 (建議)


-- 取代 sysdatabases
SELECT * FROM sys.databases;

-- 取代 sysobjects + sysusers
SELECT o.name, o.type_desc, u.name AS owner
FROM sys.objects o
JOIN sys.database_principals u ON o.principal_id = u.principal_id;

-- 取代 syscolumns
SELECT c.name, t.name AS type_name, c.max_length, c.precision, c.scale, c.is_nullable, c.is_identity
FROM sys.columns c
JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE c.object_id = OBJECT_ID('dbo.YourTable');

-- 取代 sysindexes
SELECT i.name, i.type_desc, i.is_unique, i.is_primary_key, i.fill_factor
FROM sys.indexes i
WHERE i.object_id = OBJECT_ID('dbo.YourTable');

目錄檢視提供穩定介面、版本相容、效能優化,請優先使用。

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