下列這些系統表都是存放在master資料庫下的Views中,而不是在Tables中。
系統表
資料庫
功能
sysaltfiles
主資料庫
儲存資料庫的檔案
syscharsets
字元集與排序順序
sysconfigures
配置選項
syscurconfigs
目前配置選項
sysdatabases
伺服器中的資料庫
syslanguages
語言
syslogins
登陸帳号資訊
sysoledbusers
連結伺服器登陸資訊
sysprocesses
程序
sysremotelogins
遠端登入帳号
syscolumns
每個資料庫
列
sysconstrains
限制
sysfilegroups
檔案組
sysfiles
檔案
sysforeignkeys
外部關鍵字
sysindexs
索引
sysmenbers
角色成員
sysobjects
所有資料庫對象
syspermissions
權限
systypes
使用者定義資料類型
sysusers
使用者
在特殊情況下,包含與資料庫中的檔案相對應的行。該表存儲在 master 資料庫中。
列名
資料類型
描述
fileid
smallint
每個資料庫的唯一檔案辨別号。
groupid
檔案組辨別号。
size
int
檔案大小(以 8 KB 頁為機關)。
maxsize
最大檔案大小(以 8 KB 頁為機關)。0 值表示不增長,–1 值表示檔案應一直增長到磁盤已滿。
growth
資料庫的增長大小。0 值表示不增長。根據狀态的值,可以是頁數或檔案大小的百分比。如果 status 為 0x100000,則growth 是檔案大小的百分比;否則是頁數。
status
僅限内部使用。
perf
保留。
dbid
該檔案所屬資料庫的資料庫辨別号。
name
nchar(128)
檔案的邏輯名稱。
filename
nchar(260)
實體裝置的名稱,包括檔案的完整路徑。
每個字元集在表中各占一行,表中還包含定義供 Microsoft? SQL Server? 使用的排序次序。排序次序中的一個在 sysconfigures 中标記為預設排序次序,該次序是實際使用的唯一次序。
type
該行表示的實體類型。1001 是字元集;2001 是排序次序。
id
tinyint
字元集或排序次序的唯一 ID。注意排序次序和字元集不能共享相同的 ID 号。保留從 1 到 240 的 ID 範圍供 SQL Server 使用。
csid
如果該行表示字元集,則不使用該字段。如果該行表示排序次序,則該字段是在其上生成排序次序的字元集 ID。假設具有該 ID 的字元集行存在于該表中。
内部系統狀态資訊位。
sysname
字元集或排序次序的唯一名稱。該字段必須隻包含字母 A-Z 或 a-z、數字 0 – 9 和下劃線 (_)。必須以字母開頭。
description
nvarchar(255)
字元集或排序次序功能的可選描述。
binarydefinition
varbinary(255)
definition
image
字元集或排序次序的内部定義。該字段中的資料結構取決于類型。
使用者設定的每個配置選項在表中各占一行。 sysconfigures 包含最近啟動 Microsoft? SQL Server? 前定義的配置選項,還包含最近啟動後設定的所有動态配置選項。該表隻位于 master 資料庫中。
value
變量的使用者可修改值(僅在已執行 RECONFIGURE 後由 SQL Server 使用)。
config
配置變量号。
comment
對配置選項的解釋。
表示選項狀态的位圖。可能的值包括:
0 = 靜态(該設定在伺服器重新啟動時生效)。
1 = 動态(該變量在 RECONFIGURE 語句執行時生效)。
2 = 進階(僅當設定了顯示進階選項時才顯示該變量)。
3 = 動态和進階。
使用者可修改的變量值(僅在已執行 RECONFIGURE 的情況下由 Microsoft? SQL Server? 使用)。
Microsoft? SQL Server? 上的每個資料庫在表中占一行。最初安裝 SQL Server 時, sysdatabases 包含 master 、 model 、 msdb 、 mssqlweb和 tempdb 資料庫的項。該表隻存儲在 master 資料庫中。
資料庫的名稱。
資料庫 ID。
sid
varbinary(85)
資料庫建立者的系統 ID。
mode
用于建立資料庫時在内部鎖定該資料庫。
狀态位,其中某些狀态位可由使用者使用sp_dboption ( read only 、 dbo use only 、 single user 等)進行設定:
1 = autoclose ;使用 sp_dboption 設定。
4 = select into/bulkcopy ;使用sp_dboption 設定。
8 = trunc. log on chkpt ;使用sp_dboption 設定。
16 = torn page detection ,使用sp_dboption 設定。
32 = loading 。
64 = pre recovery 。
128 = recovering 。
256 = not recovered 。
512 = offline ;使用 sp_dboption 設定。
1024 = read only ;使用 sp_dboption 設定。
2048 = dbo use only ;使用
sp_dboption 設定。
4096 = single user ;使用 sp_dboption 設定。
32768 = emergency mode 。
4194304 = autoshrink 。
1073741824 = cleanly shutdown 。
可以同時打開多個位。
status2
16384 = ANSI null default ;使用sp_dboption 設定。
65536 = concat null yields null ,使用sp_dboption 設定。
131072 = recursive triggers ,使用sp_dboption 設定。
1048576 = default to local cursor ,使用sp_dboption 設定。
8388608 = quoted identifier ,使用
33554432 = cursor close on commit ,使用 sp_dboption 設定。
67108864 = ANSI nulls ,使用sp_dboption 設定。
268435456 = ANSI warnings ,使用sp_dboption 設定。
536870912 = full text enabled ,使用
sp_fulltext_database 設定。
crdate
datetime
建立日期。
reserved
留作以後使用。
category
包含用于複制的資訊位圖:
1 = 已釋出。
2 = 已訂閱。
4 = 合并已釋出。
8 = 合并已訂閱。
cmptlevel
nvarchar(260)
資料庫主檔案的作業系統路徑和名稱。
version
建立資料庫時使用的 SQL Server 代碼内部版本号。僅供 SQL Server 工具在内部用于更新處理。
出現在 Microsoft? SQL Server? 中的每種語言在表中各占一行。雖然美國英語不在 syslanguages 内,但該表始終可由 SQL Server 使用。該表隻存儲在 master 資料庫中。
langid
唯一語言 ID。
dateformat
nchar(3)
日期順序(如 DMY)。
datefirst
一周的第一天:1 表示星期一,2 表示星期二,依此類推,直到 7 表示星期日。
upgrade
留作系統使用。
正式語言名稱(例如,fran?ais)。
alias
備用語言名稱(如 French)。
months
nvarchar(372)
按從一月到十二月的順序排列的用逗号分隔的月份全稱清單,每個名稱最多包含 20 個字元。
shortmonths
varchar(132)
按從一月到十二月的順序排列的用逗号分隔的縮寫月份名稱清單,每個名稱最多包含 9 個字元。
days
nvarchar(217)
按從一月到十二月的順序排列的用逗号分隔的天名稱清單,每個名稱最多包含 30 個字元。
lcid
此種語言的 Microsoft Windows NT? 區域設定 ID。
mslangid
SQL Server 消息組 ID。
安裝了 SQL Server 提供的三十三種語言。下面是語言清單。
用英語表示的名稱
NT LCID
SQL Server 消息組 ID
English
1033
German
1031
French
1036
Japanese
1041
Danish
1030
Spanish
3082
Italian
1040
Dutch
1043
Norwegian
2068
Portuguese
2070
Finnish
1035
Swedish
1053
Czech
1029
Hungarian
1038
Polish
1045
Romanian
1048
Croatian
1050
Slovak
1051
Slovene
1060
Greek
1032
Bulgarian
1026
Russian
1049
Turkish
1055
British English
2057
Estonian
1061
Latvian
1062
Lithuanian
1063
Brazilian
1046
Traditional Chinese
1028
Korean
1042
Simplified Chinese
2052
Arabic
1025
Thai
1054
每個登入帳戶在表中占一行。
安全辨別符。
createdate
添加登入的日期。
updatedate
更新登入的日期。
accdate
totcpu
totio
spacelimit
timelimit
resultlimit
varchar(30)
使用者的登入 ID。
dbname
nvarchar(128)
建立連接配接時,使用者的預設資料庫名。
password
使用者的加密密碼(可以是 NULL)。
language
使用者的預設語言。
denylogin
如果登入是 Microsoft? Windows NT? 使用者或組且已被拒絕通路,則為 1。
hasaccess
如果已授權登入通路伺服器,則為 1。
isntname
如果登入是 Windows NT 使用者或組,則為 1;如果登入是 Microsoft SQL Server? 登入,則為 0。
isntgroup
如果登入是 Windows NT 組,則為 1。
isntuser
如果登入是 Windows NT 使用者,則為 1。
sysadmin
如果登入是 sysadmin 伺服器角色成員,則為 1。
securityadmin
如果登入是 securityadmin 伺服器角色成員,則為 1。
serveradmin
如果登入是 serveradmin 固定伺服器角色成員,則為 1。
setupadmin
如果登入是 setupadmin 固定伺服器角色成員,則為 1。
processadmin
如果登入是 processadmin 固定伺服器角色成員,則為 1。
diskadmin
如果登入是 diskadmin 固定伺服器角色成員,則為 1。
dbcreator
如果登入是 dbcreator 固定伺服器角色成員,則為 1。
loginname
登入的實際名稱,該名稱可能不同于 SQL Server 所使用的登入名。
每個指定的連結伺服器的使用者和密碼映射在表中占一行。該表存儲在 master 資料庫中。
rmtsrvid
伺服器的 SID(安全辨別号)。
rmtloginame
loginsid 映射到的連結 rmtservid 的遠端登入名。
rmtpassword
連結 rmtsrvid 内的指定遠端登入的加密密碼。
loginsid
要映射的本地登入 SID。
如果該值為 1,映射應使用使用者自己的憑據。
changedate
上次更改映射資訊的日期。
sysprocesses 表中儲存關于運作在 Microsoft? SQL Server? 上的程序的資訊。這些程序可以是用戶端程序或系統程序。 sysprocesses 隻存儲在master 資料庫中。
spid
SQL Server 程序 ID。
kpid
Microsoft Windows NT 4.0? 線程 ID。
blocked
分塊程序的程序 ID ( spid )。
waittype
binary(2)
waittime
目前等待時間(以毫秒為機關)。當程序不處于等待時,為 0。
lastwaittype
nchar(32)
表示上次或目前等待類型名稱的字元串。
waitresource
鎖資源的文本化表示法。
目前正由程序使用的資料庫 ID。
uid
執行指令的使用者 ID。
cpu
程序的累計 CPU 時間。無論 SET STATISTICS TIME ON 選項是 ON 還是 OFF,都為所有程序更新該條目。
physical_io
程序的累計磁盤讀取和寫入。
memusage
目前配置設定給該程序的過程高速緩存中的頁數。一個負數,表示程序正在釋放由另一個程序配置設定的記憶體。
login_time
用戶端程序登入到伺服器的時間。對于系統程序,是存儲 SQL Server 啟動發生的時間。
last_batch
用戶端程序上次執行遠端存儲過程調用或 EXECUTE 語句的時間。對于系統程序,是存儲 SQL Server 啟動發生的時間。
ecid
用于唯一辨別代表單個程序進行操作的子線程的執行上下文 ID。
open_tran
程序的打開事務數。
nchar(30)
程序 ID 狀态(如運作、休眠等)。
binary(85)
使用者的全局唯一辨別符 (GUID)。
hostname
工作站的名稱。
program_name
應用程式的名稱。
hostprocess
nchar(8)
工作站程序 ID 号。
cmd
nchar(16)
目前正在執行的指令。
nt_domain
用戶端的 Windows NT 4.0 域(如果使用 Windows 身份驗證)或信任連接配接的 Windows NT 4.0 域。
nt_username
程序的 Windows NT 4.0使用者名(如果使用 Windows 身份驗證)或信任連接配接的 Windows NT 4.0 使用者名。
net_address
nchar(12)
指派給每個使用者工作站上的網絡接口卡唯一辨別符。當使用者登入時,該辨別符插入net_address 列。
net_library
loginame
登入名。
每個允許調用 Microsoft? SQL Server? 上的遠端存儲過程的遠端使用者占一行。
remoteserverid
遠端伺服器辨別。
remoteusername
遠端伺服器上的使用者登入名。
選項的位圖。
Microsoft Windows NT? 使用者安全 ID。
添加遠端使用者的日期和時間。
每個表和視圖中的每列在表中占一行,存儲過程中的每個參數在表中也占一行。該表位于每個資料庫中。
列名或過程參數的名稱。
該列所屬的表對象 ID,或與該參數關聯的存儲過程 ID。
xtype
systypes 中的實體存儲類型。
typestat
xusertype
擴充的使用者定義資料類型 ID。
length
systypes 中的最大實體存儲長度。
xprec
xscale
colid
列或參數 ID。
xoffset
bitpos
colstat
cdefault
該列的預設值 ID。
domain
該列的規則或 CHECK 限制 ID。
number
過程分組時(0 表示非過程項)的子過程号。
colorder
autoval
offset
該列所在行的偏移量;如果為負,表示可變長度行。
用于描述列或參數屬性的位圖:
0x08 = 列允許空值。
0x10 = 當添加 varchar 或 varbinary 列時,ANSI 填充生效。保留 varchar 列的尾随空格,保留varbinary 列的尾随零。
0x40 = 參數為 OUTPUT 參數。
0x80 = 列為辨別列。
usertype
systypes 中的使用者定義資料類型 ID。
printfmt
varchar(255)
prec
該列的精度級别。
scale
該列的小數位數。
iscomputed
表示是否已計算該列的标志:
0 = 未計算。
1 = 已計算。
isoutparam
表示該過程參數是否是輸出參數:
1 = 真。
0 = 假。
isnullable
表示該列是否允許空值:
包含限制映射,映射到擁有該限制的對象。該系統目錄存儲在每個資料庫中。
constid
限制号。
擁有該限制的表 ID。
在其上定義限制的列 ID,如果是表限制則為 0。
spare1
位圖訓示狀态。可能的值包括:
1 = PRIMARY KEY 限制。
2 = UNIQUE KEY 限制。
3 = FOREIGN KEY 限制。
4 = CHECK 限制。
5 = DEFAULT 限制。
16 = 列級限制。
32 = 表級限制。
actions
error
資料庫中的每個檔案組在表中占一行。該表存儲在每個資料庫中。在該表中至少有一項用于主檔案組。
每個資料庫的唯一組辨別号。
allocpolicy
0x8 = READ ONLY
0x10 = DEFAULT
groupname
檔案組的名稱。
資料庫中的每個檔案在表中占一行。該系統表是虛拟表,不能直接更新或修改。
資料庫的增長大小。0 值表示不增長。根據狀态的值,可以是頁數或檔案大小的百分比。如果 status 包含 0x100000,則 growth 是檔案大小的百分比;否則,它是頁數。
growth 值(以兆位元組 (MB) 或千位元組 (KB) 為機關)的狀态位。
0x1 = 預設裝置。
0x2 = 磁盤檔案。
0x40 = 日志裝置。
0x80 = 自上次備份後已寫入檔案。
0x4000 = 由 CREATE DATABASE 語句
隐性建立的裝置。
0x8000 = 在資料庫建立過程中建立的裝置。
0x100000 = 按百分比而不是按頁數增長。
包含關于表定義中的 FOREIGN KEY 限制的資訊。該表存儲在每個資料庫中。
FOREIGN KEY 限制的 ID。
fkeyid
具有 FOREIGN KEY 限制的表對象 ID。
rkeyid
在 FOREIGN KEY 限制中引用的表對象 ID。
fkey
正在引用的列 ID。
rkey
已引用的列 ID。
keyno
該列在引用列清單中的位置。
資料庫中的每個索引和表在表中各占一行。該表存儲在每個資料庫中。
表 ID(如果 indid = 0 或 255)。否則為索引所屬表的 ID。
内部系統狀态資訊。
first
binary(6)
指向第一頁或根頁的指針。
indid
索引 ID:
1 = 聚集索引
>1 = 非聚集
255 = 具有 text 或 image 資料的表條目
root
如果 indid >= 1 和 < 255, root 是指向根頁的指針。如果 indid = 0 或 indid = 255, root 是指向最後一頁的指針。
minlen
最小行大小。
keycnt
鍵的數目。
在其上建立對象的檔案組 ID。
dpages
如果 indid = 0 或 indid = 1, dpages 是已用資料頁的計數。如果 indid = 255,其設定為 0。否則是已用索引頁的計數。
如果 indid = 0 或 indid = 1, reserved 是配置設定給所有索引和表資料的頁計數。如果 indid = 255,reserved 是配置設定給 text 或 image 資料的頁計數。否則是配置設定給索引的頁計數。
used
如果 indid = 0 或 indid = 1, used 是用于所有索引和表資料的總頁數。如果 indid = 255, used 是用于text 或 image 資料的頁計數。否則是用于索引的頁計數。
rowcnt
bigint
基于 indid = 0 和 indid = 1 的資料級行計數。如果indid = 255, rowcnt 設定為 0。
rowmodctr
對自上次更新表的統計後插入、删除或更新行的總數進行計數。
xmaxlen
最大行大小。
maxirow
最大非葉索引行大小。
OrigFillFactor
建立索引時使用的起始填充因子值。不保留該值;然而,如果需要重新建立索引但記不住當初使用的填充因子,則該值可能很有幫助。
reserved1
reserved2
FirstIAM
impid
保留。索引實作标志。
lockflags
用于限制經過考慮的索引鎖粒度。例如,對于本質上是隻讀的查找表,可以将其設定為僅進行表級鎖定以使鎖定成本減到最小。
pgmodctr
keys
varbinary(816)
組成索引鍵的列 ID 清單。
表名(如果 indid = 0 或 255)。否則為索引的名稱。
statblob
統計 BLOB。
maxlen
rows
基于 indid = 0 和 indid = 1的資料級行數,該值對于indid >1 重複。如果 indid = 255, rows 設定為 0。提供該列是為了向後相容。
每個資料庫角色成員在表中占一行。該表存儲在每個資料庫中。
memberuid
角色成員的使用者 ID。
groupuid
角色的使用者 ID。
在資料庫内建立的每個對象(限制、預設值、日志、規則、存儲過程等)在表中占一行。隻有在 tempdb 内,每個臨時對象才在該表中占一行。
對象名。
Id
對象辨別号。
char(2)
對象類型。可以是下列對象類型中的一種:
C = CHECK 限制
D = 預設值或 DEFAULT 限制
F = FOREIGN KEY 限制
L = 日志
FN = 标量函數
IF = 内嵌表函數
P = 存儲過程
PK = PRIMARY KEY 限制(類型是 K)
RF = 複制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 使用者表
UQ = UNIQUE 限制(類型是 K)
V = 視圖
X = 擴充存儲過程
所有者對象的使用者 ID。
info
保留。僅限内部使用。
base_schema_
ver
replinfo
保留。供複制使用。
parent_obj
父對象的對象辨別号(例如,對于觸發器或限制,該辨別号為表 ID)。
對象的建立日期。
ftcatid
為全文索引注冊的所有使用者表的全文目錄辨別符,對于沒有注冊的所有使用者表則為 0。
schema_ver
版本号,該版本号在每次表的架構更改時都增加。
stats_schema_
對象類型。可以是下列值之一:
C = CHECK 限制
F = FOREIGN KEY 限制
K = PRIMARY KEY 或 UNIQUE 限制
R = 規則
S = 系統表
userstat
sysstat
内部狀态資訊。
indexdel
refdate
deltrig
instrig
updtrig
seltrig
用于釋出、限制和辨別。
cache
包含有關對資料庫内的使用者、組和角色授予和拒絕的權限的資訊。該表存儲在每個資料庫中。
對象權限的對象 ID;0 表示語句權限。
grantee
受權限影響的使用者、組或角色的 ID。
grantor
被授予或廢除權限的使用者、組或角色的 ID。
actadd
actmod
seladd
varbinary(4000)
selmod
updadd
updmod
refadd
refmod
對于每種系統提供資料類型和使用者定義資料類型,均包含一行資訊。該表存儲在每個資料庫中。
這些是系統提供的資料類型及其 ID 号。
資料類型名稱。
實體存儲類型。
擴充使用者類型。
資料類型的實體長度。
伺服器所使用的内部精度。(不能在查詢中使用。)
伺服器所使用的内部小數位數。(不能在查詢中使用。)
tdefault
對此資料類型進行完整性檢查的存儲過程的 ID。
資料類型建立者的使用者 ID。
使用者類型 ID。
variable
bit
可變長度資料類型為 1;否則為 0。
allownulls
指出此資料類型的預設為空性。如果 CREATE 或 ALTER TABLE 指定了為空性,那麼該值将替代此資料類型的預設為空性。
實體存儲資料類型。
此資料類型的精度級别。
此資料類型的小數位數(根據精度)。
資料庫中每個 Microsoft? Windows 使用者、Windows 組、Microsoft SQL Server? 使用者或 SQL Server 角色在表中占一行。
使用者 ID,在此資料庫中是唯一的。1 是資料庫所有者。
Name
使用者名或組名,在此資料庫中是唯一的。
此條目的安全性辨別符。
roles
varbinary(2048)
帳戶的添加日期。
帳戶的上次修改日期。
altuid
varbinary(256)
gid
此使用者所屬的組 ID。如果 uid = gid ,那麼此條目就定義一個組。
environ
hasdbaccess
如果該帳戶有資料庫通路權限,則為 1。
islogin
如果該帳戶是有登入帳戶的 Windows 組、Windows 使用者或 SQL Server 使用者,則為 1。
如果該帳戶是 Windows 組或 Windows 使用者,則為 1。
如果該帳戶是 Windows 組,則為 1。
如果該帳戶是 Windows 使用者,則為 1。
issqluser
如果該帳戶是 SQL Server 使用者,則為 1。
isaliased
如果該帳戶以另一個使用者為别名,則為 1。
issqlrole
如果該帳戶是 SQL Server 角色,則為 1。
isapprole
如果該帳戶是應用程式角色,則為 1。
本文轉自xwdreamer部落格園部落格,原文連結:http://www.cnblogs.com/xwdreamer/archive/2012/06/25/2561256.html,如需轉載請自行聯系原作者