sql server系統表詳細說明(zt)

season0891發表於2009-09-21

本文轉自:http://www.cnblogs.com/asdcer/archive/2007/05/14/746377.aspx#sysaltfiles

sql server系統表詳細說明

sysaltfiles  主資料庫 儲存資料庫的檔案

syscharsets  主資料庫字符集與排序順序

sysconfigures 主資料庫 配置選項

 syscurconfigs 主資料庫當前配置選項

  sysdatabases 主資料庫伺服器中的資料庫

  syslanguages 主資料庫語言

  syslogins 主資料庫 登陸帳號資訊

 sysoledbusers 主資料庫 連結伺服器登陸資訊

  sysprocesses 主資料庫程式

  sysremotelogins主資料庫 遠端登入帳號

  syscolumns 每個資料庫 列

  sysconstrains 每個資料庫 限制

  sysfilegroups 每個資料庫 檔案組

  sysfiles 每個資料庫 檔案

  sysforeignkeys 每個資料庫 外部關鍵字

  sysindexs 每個資料庫 索引

  sysmenbers 每個資料庫角色成員

  sysobjects 每個資料庫所有資料庫物件

  syspermissions 每個資料庫 許可權

  systypes 每個資料庫 使用者定義資料型別

  sysusers 每個資料庫 使用者

sysaltfiles  頁首

在特殊情況下,包含與資料庫中的檔案相對應的行。該表儲存在 master 資料庫中。

列名 資料型別 描述
fileid smallint 每個資料庫的唯一檔案標識號。
groupid smallint 檔案組標識號。
size int 檔案大小(以 8 KB 頁為單位)。
maxsize int 最大檔案大小(以 8 KB 頁為單位)。0 值表示不增長,–1 值表示檔案應一直增長到磁碟已滿。
growth int 資料庫的增長大小。0 值表示不增長。根據狀態的值,可以是頁數或檔案大小的百分比。如果 status 為 0x100000,則 growth 是檔案大小的百分比;否則是頁數。
status int 僅限內部使用。
perf int 保留。
dbid smallint 該檔案所屬資料庫的資料庫標識號。
name nchar(128) 檔案的邏輯名稱。
filename nchar(260) 物理裝置的名稱,包括檔案的完整路徑。

>syscharsets 頁首

每個字符集在表中各佔一行,表中還包含定義供 Microsoft? SQL Server? 使用的排序次序。排序次序中的一個在 sysconfigures 中標記為預設排序次序,該次序是實際使用的唯一次序。

列名 資料型別 描述
type smallint 該行表示的實體型別。1001 是字符集;2001 是排序次序。
id tinyint 字符集或排序次序的唯一 ID。注意排序次序和字符集不能共享相同的 ID 號。保留從 1 到 240 的 ID 範圍供 SQL Server 使用。
csid tinyint 如果該行表示字符集,則不使用該欄位。如果該行表示排序次序,則該欄位是在其上生成排序次序的字符集 ID。假設具有該 ID 的字符集行存在於該表中。
status smallint 內部系統狀態資訊位。
name sysname 字符集或排序次序的唯一名稱。該欄位必須只包含字母 A-Z 或 a-z、數字 0 – 9 和下劃線 (_)。必須以字母開頭。
description nvarchar(255) 字符集或排序次序功能的可選描述。
binarydefinition varbinary(255) 僅限內部使用。
definition image 字符集或排序次序的內部定義。該欄位中的資料結構取決於型別。

sysconfigures 頁首

使用者設定的每個配置選項在表中各佔一行。 sysconfigures 包含最近啟動 Microsoft? SQL Server? 前定義的配置選項,還包含最近啟動後設定的所有動態配置選項。該表只位於 master 資料庫中。

列名 資料型別 描述
value int 變數的使用者可修改值(僅在已執行 RECONFIGURE 後由 SQL Server 使用)。
config smallint 配置變數號。
comment nvarchar(255) 對配置選項的解釋。
status smallint 表示選項狀態的點陣圖。可能的值包括:

0 = 靜態(該設定在伺服器重新啟動時生效)。
1 = 動態(該變數在 RECONFIGURE 語句執行時生效)。
2 = 高階(僅當設定了顯示高階選項時才顯示該變數)。
3 = 動態和高階。


syscurconfigs 頁首

每個當前配置選項各佔一項。另外,該表還包含四個描述配置結構的項。 syscurconfigs 在由使用者查詢時動態生成。有關更多資訊,請參見 sysconfigures

列名 資料型別 描述
value int 使用者可修改的變數值(僅在已執行 RECONFIGURE 的情況下由 Microsoft? SQL Server? 使用)。
config smallint 配置變數號。
comment nvarchar(255) 對配置選項的解釋。
status smallint 表示選項狀態的點陣圖。可能的值包括:

0 = 靜態(該設定在伺服器重新啟動時生效)。
1 = 動態(該變數在 RECONFIGURE 語句執行時生效)。
2 = 高階(僅當設定了顯示高階選項時才顯示該變數)。
3 = 動態和高階。

 

sysdatabases 頁首

Microsoft? SQL Server? 上的每個資料庫在表中佔一行。最初安裝 SQL Server 時, sysdatabases 包含 master model msdb mssqlwebtempdb 資料庫的項。該表只儲存在 master 資料庫中。

列名 資料型別 描述
name sysname 資料庫的名稱。
dbid smallint 資料庫 ID。
sid varbinary(85) 資料庫建立者的系統 ID。
mode smallint 用於建立資料庫時在內部鎖定該資料庫。
status int 狀態位,其中某些狀態位可由使用者使用 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 int 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 ,使用
sp_dboption 設定。
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 datetime 留作以後使用。
category int 包含用於複製的資訊點陣圖:

1 = 已釋出。
2 = 已訂閱。
4 = 合併已釋出。
8 = 合併已訂閱。

cmptlevel tinyint 資料庫的相容級別。有關更多資訊,請參見 sp_dbcmptlevel
filename nvarchar(260) 資料庫主檔案的作業系統路徑和名稱。
version smallint 建立資料庫時使用的 SQL Server 程式碼內部版本號。僅供 SQL Server 工具在內部用於升級處理。

syslanguages 頁首

出現在 Microsoft? SQL Server? 中的每種語言在表中各佔一行。雖然美國英語不在 syslanguages 內,但該表始終可由 SQL Server 使用。該表只儲存在 master 資料庫中。

列名 資料型別 描述
langid smallint 唯一語言 ID。
dateformat nchar(3) 日期順序(如 DMY)。
datefirst tinyint 一週的第一天:1 表示星期一,2 表示星期二,依此類推,直到 7 表示星期日。
upgrade int 留作系統使用。
name sysname 正式語言名稱(例如,fran?ais)。
alias sysname 備用語言名稱(如 French)。
months nvarchar(372) 按從一月到十二月的順序排列的用逗號分隔的月份全稱列表,每個名稱最多包含 20 個字元。
shortmonths varchar(132) 按從一月到十二月的順序排列的用逗號分隔的縮寫月份名稱列表,每個名稱最多包含 9 個字元。
days nvarchar(217) 按從一月到十二月的順序排列的用逗號分隔的天名稱列表,每個名稱最多包含 30 個字元。
lcid int 此種語言的 Microsoft Windows NT? 區域設定 ID。
mslangid smallint SQL Server 訊息組 ID。

安裝了 SQL Server 提供的三十三種語言。下面是語言列表。

用英語表示的名稱 NT LCID SQL Server 訊息組 ID
English 1033 1033
German 1031 1031
French 1036 1036
Japanese 1041 1041
Danish 1030 1030
Spanish 3082 3082
Italian 1040 1040
Dutch 1043 1043
Norwegian 2068 2068
Portuguese 2070 2070
Finnish 1035 1035
Swedish 1053 1053
Czech 1029 1029
Hungarian 1038 1038
Polish 1045 1045
Romanian 1048 1048
Croatian 1050 1050
Slovak 1051 1051
Slovene 1060 1060
Greek 1032 1032
Bulgarian 1026 1026
Russian 1049 1049
Turkish 1055 1055
British English 2057 1033
Estonian 1061 1061
Latvian 1062 1062
Lithuanian 1063 1063
Brazilian 1046 1046
Traditional Chinese 1028 1028
Korean 1042 1042
Simplified Chinese 2052 2052
Arabic 1025 1025
Thai 1054 1054

syslogins 頁首

每個登入帳戶在表中佔一行。

列名 資料型別 描述
sid varbinary(85) 安全識別符號。
status smallint 僅限內部使用。
createdate datetime 新增登入的日期。
updatedate datetime 更新登入的日期。
accdate datetime 僅限內部使用。
totcpu int 僅限內部使用。
totio int 僅限內部使用。
spacelimit int 僅限內部使用。
timelimit int 僅限內部使用。
resultlimit int 僅限內部使用。
name varchar(30) 使用者的登入 ID。
dbname nvarchar(128) 建立連線時,使用者的預設資料庫名。
password nvarchar(128) 使用者的加密密碼(可以是 NULL)。
language nvarchar(128) 使用者的預設語言。
denylogin int 如果登入是 Microsoft? Windows NT? 使用者或組且已被拒絕訪問,則為 1。
hasaccess int 如果已授權登入訪問伺服器,則為 1。
isntname int 如果登入是 Windows NT 使用者或組,則為 1;如果登入是 Microsoft SQL Server? 登入,則為 0。
isntgroup int 如果登入是 Windows NT 組,則為 1。
isntuser int 如果登入是 Windows NT 使用者,則為 1。
sysadmin int 如果登入是 sysadmin 伺服器角色成員,則為 1。
securityadmin int 如果登入是 securityadmin 伺服器角色成員,則為 1。
serveradmin int 如果登入是 serveradmin 固定伺服器角色成員,則為 1。
setupadmin int 如果登入是 setupadmin 固定伺服器角色成員,則為 1。
processadmin int 如果登入是 processadmin 固定伺服器角色成員,則為 1。
diskadmin int 如果登入是 diskadmin 固定伺服器角色成員,則為 1。
dbcreator int 如果登入是 dbcreator 固定伺服器角色成員,則為 1。
loginname nvarchar(128) 登入的實際名稱,該名稱可能不同於 SQL Server 所使用的登入名。

sysoledbusers 頁首

每個指定的連結伺服器的使用者和密碼對映在表中佔一行。該表儲存在 master 資料庫中。

列名 資料型別 描述
rmtsrvid smallint 伺服器的 SID(安全標識號)。
rmtloginame nvarchar(128) loginsid 對映到的連結 rmtservid 的遠端登入名。
rmtpassword nvarchar(128) 連結 rmtsrvid 內的指定遠端登入的加密密碼。
loginsid varbinary(85) 要對映的本地登入 SID。
status smallint 如果該值為 1,對映應使用使用者自己的憑據。
changedate datetime 上次更改對映資訊的日期。

sysprocesses  頁首

sysprocesses 表中儲存關於執行在 Microsoft? SQL Server? 上的程式的資訊。這些程式可以是客戶端程式或系統程式。 sysprocesses 只儲存在 master 資料庫中。

列名 資料型別 描述
spid smallint SQL Server 程式 ID。
kpid smallint Microsoft Windows NT 4.0? 執行緒 ID。
blocked smallint 分塊程式的程式 ID ( spid )。
waittype binary(2) 保留。
waittime int 當前等待時間(以毫秒為單位)。當程式不處於等待時,為 0。
lastwaittype nchar(32) 表示上次或當前等待型別名稱的字串。
waitresource nchar(32) 鎖資源的文字化表示法。
dbid smallint 當前正由程式使用的資料庫 ID。
uid smallint 執行命令的使用者 ID。
cpu int 程式的累計 CPU 時間。無論 SET STATISTICS TIME ON 選項是 ON 還是 OFF,都為所有程式更新該條目。
physical_io int 程式的累計磁碟讀取和寫入。
memusage int 當前分配給該程式的過程快取記憶體中的頁數。一個負數,表示程式正在釋放由另一個程式分配的記憶體。
login_time datetime 客戶端程式登入到伺服器的時間。對於系統程式,是儲存 SQL Server 啟動發生的時間。
last_batch datetime 客戶端程式上次執行遠端儲存過程呼叫或 EXECUTE 語句的時間。對於系統程式,是儲存 SQL Server 啟動發生的時間。
ecid smallint 用於唯一標識代表單個程式進行操作的子執行緒的執行上下文 ID。
open_tran smallint 程式的開啟事務數。
status nchar(30) 程式 ID 狀態(如執行、休眠等)。
sid binary(85) 使用者的全域性唯一識別符號 (GUID)。
hostname nchar(128) 工作站的名稱。
program_name nchar(128) 應用程式的名稱。
hostprocess nchar(8) 工作站程式 ID 號。
cmd nchar(16) 當前正在執行的命令。
nt_domain nchar(128) 客戶端的 Windows NT 4.0 域(如果使用 Windows 身份驗證)或信任連線的 Windows NT 4.0 域。
nt_username nchar(128) 程式的 Windows NT 4.0使用者名稱(如果使用 Windows 身份驗證)或信任連線的 Windows NT 4.0 使用者名稱。
net_address nchar(12) 指派給每個使用者工作站上的網路介面卡唯一識別符號。當使用者登入時,該識別符號插入 net_address 列。
net_library nchar(12) 用於儲存客戶端網路庫的列。每個客戶端程式都在網路連線上進入。網路連線有一個與這些程式關聯的網路庫,該網路庫使得這些程式可以建立連線。有關更多資訊,請參見客戶端和伺服器 Net-Library
loginame nchar(128) 登入名。

sysremotelogins 頁首

每個允許呼叫 Microsoft? SQL Server? 上的遠端儲存過程的遠端使用者佔一行。

列名 資料型別 描述
remoteserverid smallint 遠端伺服器標識。
remoteusername nvarchar(128) 遠端伺服器上的使用者登入名。
status smallint 選項的點陣圖。
sid varbinary(85) Microsoft Windows NT? 使用者安全 ID。
changedate datetime 新增遠端使用者的日期和時間。

syscolumns 頁首

每個表和檢視中的每列在表中佔一行,儲存過程中的每個引數在表中也佔一行。該表位於每個資料庫中。

列名 資料型別 描述
name sysname 列名或過程引數的名稱。
id int 該列所屬的表物件 ID,或與該引數關聯的儲存過程 ID。
xtype tinyint systypes 中的物理儲存型別。
typestat tinyint 僅限內部使用。
xusertype smallint 擴充套件的使用者定義資料型別 ID。
length smallint systypes 中的最大物理儲存長度。
xprec tinyint 僅限內部使用。
xscale tinyint 僅限內部使用。
colid smallint 列或引數 ID。
xoffset smallint 僅限內部使用。
bitpos tinyint 僅限內部使用。
reserved tinyint 僅限內部使用。
colstat smallint 僅限內部使用。
cdefault int 該列的預設值 ID。
domain int 該列的規則或 CHECK 約束 ID。
number smallint 過程分組時(0 表示非過程項)的子過程號。
colorder smallint 僅限內部使用。
autoval varbinary(255) 僅限內部使用。
offset smallint 該列所在行的偏移量;如果為負,表示可變長度行。
status tinyint 用於描述列或引數屬性的點陣圖:

0x08 = 列允許空值。
0x10 = 當新增 varcharvarbinary 列時,ANSI 填充生效。保留 varchar 列的尾隨空格,保留 varbinary 列的尾隨零。
0x40 = 引數為 OUTPUT 引數。
0x80 = 列為標識列。

type tinyint systypes 中的物理儲存型別。
usertype smallint systypes 中的使用者定義資料型別 ID。
printfmt varchar(255) 僅限內部使用。
prec smallint 該列的精度級別。
scale int 該列的小數位數。
iscomputed int 表示是否已計算該列的標誌:

0 = 未計算。
1 = 已計算。

isoutparam int 表示該過程引數是否是輸出引數:

1 = 真。
0 = 假。

isnullable int 表示該列是否允許空值:

1 = 真。
0 = 假。


sysconstraints 頁首

包含約束對映,對映到擁有該約束的物件。該系統目錄儲存在每個資料庫中。

列名 資料型別 描述
constid int 約束號。
id int 擁有該約束的表 ID。
colid smallint 在其上定義約束的列 ID,如果是表約束則為 0。
spare1 tinyint 保留。
status int 點陣圖指示狀態。可能的值包括:

1 = PRIMARY KEY 約束。
2 = UNIQUE KEY 約束。
3 = FOREIGN KEY 約束。
4 = CHECK 約束。
5 = DEFAULT 約束。
16 = 列級約束。
32 = 表級約束。

actions int 保留。
error int 保留。

sysfilegroups 頁首

資料庫中的每個檔案組在表中佔一行。該表儲存在每個資料庫中。在該表中至少有一項用於主檔案組。

列名 資料型別 描述
groupid smallint 每個資料庫的唯一組標識號。
allocpolicy smallint 保留。
status int 0x8 = READ ONLY
0x10 = DEFAULT
groupname sysname 檔案組的名稱。

sysfiles 頁首

資料庫中的每個檔案在表中佔一行。該系統表是虛擬表,不能直接更新或修改。

列名 資料型別 描述
fileid smallint 每個資料庫的唯一檔案標識號。
groupid smallint 檔案組標識號。
size int 檔案大小(以 8 KB 頁為單位)。
maxsize int 最大檔案大小(以 8 KB 頁為單位)。0 值表示不增長,–1 值表示檔案應一直增長到磁碟已滿。
growth int 資料庫的增長大小。0 值表示不增長。根據狀態的值,可以是頁數或檔案大小的百分比。如果 status 包含 0x100000,則 growth 是檔案大小的百分比;否則,它是頁數。
status int growth 值(以兆位元組 (MB) 或千位元組 (KB) 為單位)的狀態位。

0x1 = 預設裝置。
0x2 = 磁碟檔案。
0x40 = 日誌裝置。
0x80 = 自上次備份後已寫入檔案。
0x4000 = 由 CREATE DATABASE 語句
隱性建立的裝置。
0x8000 = 在資料庫建立過程中建立的裝置。
0x100000 = 按百分比而不是按頁數增長。

perf int 保留。
name nchar(128) 檔案的邏輯名稱。
filename nchar(260) 物理裝置的名稱,包括檔案的完整路徑。

sysforeignkeys 頁首

包含關於表定義中的 FOREIGN KEY 約束的資訊。該表儲存在每個資料庫中。

列名 資料型別 描述
constid int FOREIGN KEY 約束的 ID。
fkeyid int 具有 FOREIGN KEY 約束的表物件 ID。
rkeyid int 在 FOREIGN KEY 約束中引用的表物件 ID。
fkey smallint 正在引用的列 ID。
rkey smallint 已引用的列 ID。
keyno smallint 該列在引用列列表中的位置。

sysindexes 頁首

資料庫中的每個索引和表在表中各佔一行。該表儲存在每個資料庫中。

列名 資料型別 描述
id int 表 ID(如果 indid = 0 或 255)。否則為索引所屬表的 ID。
status int 內部系統狀態資訊。
first binary(6) 指向第一頁或根頁的指標。
indid smallint 索引 ID:

1 = 聚集索引
>1 = 非聚集
255 = 具有 text image 資料的表條目

root binary(6) 如果 indid >= 1 和 < 255, root 是指向根頁的指標。如果 indid = 0 或 indid = 255, root 是指向最後一頁的指標。
minlen smallint 最小行大小。
keycnt smallint 鍵的數目。
groupid smallint 在其上建立物件的檔案組 ID。
dpages int 如果 indid = 0 或 indid = 1, dpages 是已用資料頁的計數。如果 indid = 255,其設定為 0。否則是已用索引頁的計數。
reserved int 如果 indid = 0 或 indid = 1, reserved 是分配給所有索引和表資料的頁計數。如果 indid = 255, reserved 是分配給 textimage 資料的頁計數。否則是分配給索引的頁計數。
used int 如果 indid = 0 或 indid = 1, used 是用於所有索引和表資料的總頁數。如果 indid = 255, used 是用於 textimage 資料的頁計數。否則是用於索引的頁計數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-615199/,如需轉載,請註明出處,否則將追究法律責任。
sql server系統表詳細說明(zt)
請登入後發表評論 登入
全部評論

相關文章