MS SQL Server 2005 系统表详细说明

  • Post author:
  • Post category:其他


利用系统表的属性,可以使用sql语句得到所有的数据库信息

好处是使用同样的sql,可以应用于所有驱动

坏处是此sql语句只限于sqlserver.各个数据库各不相同

MS SQL Server 2005 系统表详细说明

表名

所在位置

包含内容

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

文件大小(以8KB页为单位)

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 、 mssqlweb 和 tempdb 数据库的项。该表只存储在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

正式语言名称(例如,franais)

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 页首

保存关于运行在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

char(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 = 当添加 varchar 或 varbinary 列时,ANSI 填充生效,保留 varchar 列的尾随空格,保留 varbinary 列的尾随零

0x40 = 参数为 OUTPUT 参数

0x80 = 列为标识列

type

tinyint

systypes 中的物理存储类型

usertype

smallint

systypes 中的用户定义数据类型 ID

printfmt

varchar(255)

仅限内部使用

prec

smallint

该列的精度级别

scale

int

该列的小数位数

iscomputed

int

表示是否已计算该列的标志:1=已计算,0=未计算

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

文件组的名称