Microsoft SQL Server 数据库系统表详解.docx
《Microsoft SQL Server 数据库系统表详解.docx》由会员分享,可在线阅读,更多相关《Microsoft SQL Server 数据库系统表详解.docx(29页珍藏版)》请在冰豆网上搜索。
MicrosoftSQLServer数据库系统表详解
sqlserver
系统表详细说明
1、sysaltfiles主数据库保存数据库的文件
2、syscharsets主数据库字符集与排序顺序
3、sysconfigures主数据库配置选项
4、syscurconfigs主数据库当前配置选项
5、sysdatabases主数据库服务器中的数据库
6、syslanguages主数据库语言
7、syslogins主数据库登陆帐号信息
8、sysoledbusers主数据库链接服务器登陆信息
9、sysprocesses主数据库进程
10、sysremotelogins主数据库远程登录帐号
11、syscolumns每个数据库列
12、sysconstrains每个数据库限制
13、sysfilegroups每个数据库文件组
14、sysfiles每个数据库文件
15、sysforeignkeys每个数据库外部关键字
16、sysindexs每个数据库索引
17、sysmenbers每个数据库角色成员
18、sysobjects每个数据库所有数据库对象
19、syspermissions每个数据库权限
20、systypes每个数据库用户定义数据类型
21、sysusers每个数据库用户
sysaltfiles
在特殊情况下,包含与数据库中的文件相对应的行。
该表存储在master数据库中。
列名
数据类型
描述
fileid
smallint
每个数据库的唯一文件标识号。
groupid
smallint
文件组标识号。
size
int
文件大小(以8KB页为单位)。
maxsize
int
最大文件大小(以8KB页为单位)。
0值表示不增长,–1值表示文件应一直增长到磁盘已满。
growth
int
数据库的增长大小。
0值表示不增长。
根据状态的值,可以是页数或文件大小的百分比。
如果status为0x100000,则growth是文件大小的百分比;否则是页数。
status
int
仅限内部使用。
perf
int
保留。
dbid
smallint
该文件所属数据库的数据库标识号。
name
nchar(128)
文件的逻辑名称。
filename
nchar(260)
物理设备的名称,包括文件的完整路径。
>syscharsets
每个字符集在表中各占一行,表中还包含定义供Microsoft?
SQLServer?
使用的排序次序。
排序次序中的一个在sysconfigures中标记为默认排序次序,该次序是实际使用的唯一次序。
列名
数据类型
描述
type
smallint
该行表示的实体类型。
1001是字符集;2001是排序次序。
id
tinyint
字符集或排序次序的唯一ID。
注意排序次序和字符集不能共享相同的ID号。
保留从1到240的ID范围供SQLServer使用。
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?
SQLServer?
前定义的配置选项,还包含最近启动后设置的所有动态配置选项。
该表只位于master数据库中。
列名
数据类型
描述
value
int
变量的用户可修改值(仅在已执行RECONFIGURE后由SQLServer使用)。
config
smallint
配置变量号。
comment
nvarchar(255)
对配置选项的解释。
status
smallint
表示选项状态的位图。
可能的值包括:
0=静态(该设置在服务器重新启动时生效)。
1=动态(该变量在RECONFIGURE语句执行时生效)。
2=高级(仅当设置了显示高级选项时才显示该变量)。
3=动态和高级。
syscurconfigs
每个当前配置选项各占一项。
另外,该表还包含四个描述配置结构的项。
syscurconfigs在由用户查询时动态生成。
有关更多信息,请参见sysconfigures。
列名
数据类型
描述
value
int
用户可修改的变量值(仅在已执行RECONFIGURE的情况下由Microsoft?
SQLServer?
使用)。
config
smallint
配置变量号。
comment
nvarchar(255)
对配置选项的解释。
status
smallint
表示选项状态的位图。
可能的值包括:
0=静态(该设置在服务器重新启动时生效)。
1=动态(该变量在RECONFIGURE语句执行时生效)。
2=高级(仅当设置了显示高级选项时才显示该变量)。
3=动态和高级。
sysdatabases
Microsoft?
SQLServer?
上的每个数据库在表中占一行。
最初安装SQLServer时,sysdatabases包含master、model、msdb、mssqlweb和tempdb数据库的项。
该表只存储在master数据库中。
列名
数据类型
描述
name
sysname
数据库的名称。
dbid
smallint
数据库ID。
sid
varbinary(85)
数据库创建者的系统ID。
mode
smallint
用于创建数据库时在内部锁定该数据库。
status
int
状态位,其中某些状态位可由用户使用sp_dboption(readonly、dbouseonly、singleuser等)进行设置:
1=autoclose;使用sp_dboption设置。
4=selectinto/bulkcopy;使用sp_dboption设置。
8=trunc.logonchkpt;使用sp_dboption设置。
16=tornpagedetection,使用sp_dboption设置。
32=loading。
64=prerecovery。
128=recovering。
256=notrecovered。
512=offline;使用sp_dboption设置。
1024=readonly;使用sp_dboption设置。
2048=dbouseonly;使用
sp_dboption设置。
4096=singleuser;使用sp_dboption设置。
32768=emergencymode。
4194304=autoshrink。
1073741824=cleanlyshutdown。
可以同时打开多个位。
status2
int
16384=ANSInulldefault;使用sp_dboption设置。
65536=concatnullyieldsnull,使用sp_dboption设置。
131072=recursivetriggers,使用sp_dboption设置。
1048576=defaulttolocalcursor,使用sp_dboption设置。
8388608=quotedidentifier,使用
sp_dboption设置。
33554432=cursorcloseoncommit,使用sp_dboption设置。
67108864=ANSInulls,使用sp_dboption设置。
268435456=ANSIwarnings,使用sp_dboption设置。
536870912=fulltextenabled,使用
sp_fulltext_database设置。
crdate
datetime
创建日期。
reserved
datetime
留作以后使用。
category
int
包含用于复制的信息位图:
1=已发布。
2=已订阅。
4=合并已发布。
8=合并已订阅。
cmptlevel
tinyint
数据库的兼容级别。
有关更多信息,请参见sp_dbcmptlevel。
filename
nvarchar(260)
数据库主文件的操作系统路径和名称。
version
smallint
创建数据库时使用的SQLServer代码内部版本号。
仅供SQLServer工具在内部用于升级处理。
syslanguages
用英语表示的名称
NTLCID
SQLServer消息组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
BritishEnglish
2057
1033
Estonian
1061
1061
Latvian
1062
1062
Lithuanian
1063
1063
Brazilian
1046
1046
TraditionalChinese
1028
1028
Korean
1042
1042
SimplifiedChinese
2052
2052
Arabic
1025
1025
Thai
1054
1054
出现在Microsoft?
SQLServer?
中的每种语言在表中各占一行。
虽然美国英语不在syslanguages内,但该表始终可由SQLServer使用。
该表只存储在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
此种语言的MicrosoftWindowsNT?
区域设置ID。
mslangid
smallint
SQLServer消息组ID。
安装了SQLServer提供的三十三种语言。
下面是语言列表。
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?
WindowsNT?
用户或组且已被拒绝访问,则为1。
hasaccess
int
如果已授权登录访问服务器,则为1。
isntname
int
如果登录是WindowsNT用户或组,则为1;如果登录是MicrosoftSQLServer?
登录,则为0。
isntgroup
int
如果登录是WindowsNT组,则为1。
isntuser
int
如果登录是WindowsNT用户,则为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)
登录的实际名称,该名称可能不同于SQLServer所使用的登录名。
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?
SQLServer?
上的进程的信息。
这些进程可以是客户端进程或系统进程。
sysprocesses只存储在master数据库中。
列名
数据类型
描述
spid
smallint
SQLServer进程ID。
kpid
smallint
MicrosoftWindowsNT4.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时间。
无论SETSTATISTICSTIMEON选项是ON还是OFF,都为所有进程更新该条目。
physical_io
int
进程的累计磁盘读取和写入。
memusage
int
当前分配给该进程的过程高速缓存中的页数。
一个负数,表示进程正在释放由另一个进程分配的内存。
login_time
datetime
客户端进程登录到服务器的时间。
对于系统进程,是存储SQLServer启动发生的时间。
last_batch
datetime
客户端进程上次执行远程存储过程调用或EXECUTE语句的时间。
对于系统进程,是存储SQLServer启动发生的时间。
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)
客户端的WindowsNT4.0域(如果使用Windows身份验证)或信任连接的WindowsNT4.0域。
nt_username
nchar(128)
进程的WindowsNT4.0用户名(如果使用Windows身份验证)或信任连接的WindowsNT4.0用户名。
net_address
nchar(12)
指派给每个用户工作站上的网络接口卡唯一标识符。
当用户登录时,该标识符插入net_address列。
net_library
nchar(12)
用于存储客户端网络库的列。
每个客户端进程都在网络连接上进入。
网络连接有一个与这些进程关联的网络库,该网络库使得这些进程可以建立连接。
有关更多信息,请参见客户端和服务器Net-Library。
loginame
nchar(128)
登录名。
sysremotelogins
每个允许调用Microsoft?
SQLServer?
上的远程存储过程的远程用户占一行。
列名
数据类型
描述
remoteserverid
smallint
远程服务器标识。
remoteusername
nvarchar(128)
远程服务器上的用户登录名。
status
smallint
选项的位图。
sid
varbinary(85)
MicrosoftWindowsNT?
用户安全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=当添加varchar或varbinary列时,ANSI填充生效。
保留va