sql server 2000系统表解释
汇总了几个比较有用的系统表,内容摘自联机帮助
sysobjects
---------------
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。
列名 数据类型 描述
name
sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。
uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_
ver int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver int 保留。仅限内部使用。
type char(2) 对象类型。
userstat smallint 保留。
sysstat smallint 内部状态信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于发布、约束和标识。
cache smallint 保留。
------------------
其中xtype和type可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
-------------------
sysnotifications存在于MSDB数据库中
------------------------
每个提示在表中占一行。
列名 数据类型 描述
alert_id int 警报 ID。
operator_id int 操作员 ID,应向该 ID 发送此提示。
notification_method tinyint 提示方式:
1 = 电子邮件
2 = 寻呼机
4 = netsend
7 = 全部
-----------------
sysoledbusers存在于master数据库中
-------------------
每个指定的链接服务器的用户和密码映射在表中占一行。该表存储在 master 数据库中。
列名 数据类型 描述
rmtsrvid smallint 服务器的 SID(安全标识号)。
rmtloginame nvarchar(128) loginsid 映射到的链接 rmtservid 的远程登录名。
rmtpassword nvarchar(128) 链接 rmtsrvid 内的指定远程登录的加密密码。
loginsid varbinary(85) 要映射的本地登录 SID。
status smallint 如果该值为 1,映射应使用用户自己的凭据。
changedate datetime 上次更改映射信息的日期。
-----------------
sysoperators存在于MSDB数据库中
---------------
每个操作员在表中占一行。
列名 数据类型 描述
id int 操作员 ID。
name
sysname 操作员名称。
enabled tinyint 警报提示的状态(布尔表达式)。如果为 1,则该操作员会在警报发生时收到提示。
email_address nvarchar(100) 该操作员的电子邮件地址。
last_email_date int 该操作员上次接收电子邮件警报提示的日期。
last_email_time int 该操作员上次接收电子邮件警报提示的时间。
pager_address nvarchar(100) 该操作员的呼叫程序地址。
last_pager_date int 该操作员上次接收呼叫警报提示的日期。
last_pager_time int 该操作员上次接收呼叫警报提示的时间。
weekday_pager_
start_time int 工作日(从星期一到星期五)的当天时间,该操作员在该时间后可以接收呼叫警报提示。
weekday_pager_
end_time int 工作日(从星期一到星期五)的当天时间,该操作员在该时间后不能接收呼叫警报提示。
saturday_pager_
start_time int 星期六的当天时间,该操作员在该时间后可以接收呼叫警报提示。
saturday_pager_
end_time int 星期六的当天时间,该操作员在该时间后不能接收呼叫警报提示。
sunday_pager_
start_time int 星期日的当天时间,该操作员在该时间后可以接收呼叫警报提示。
sunday_pager_
end_time int 星期日的当天时间,该操作员在该时间后不能接收呼叫警报提示。
pager_days tinyint 表示一周中某几天的位掩码,该操作员在这几天内可以接收呼叫警报提示。
netsend_address nvarchar(100) 保留。
last_netsend_
date int 上次将最新网络消息发送到指定操作员 ID 的日期。
last_netsend_
time int 上次将最新网络消息发送到指定操作员 ID 的时间。
category_id int 保留。
---------------------
sysperfinfo存在于MASTER数据库中
--------------------
包括一个 Microsoft® SQL Server™ 表示法的内部性能计数器,可通过 Windows NT 性能监视器显示。
说明 Windows NT 性能监视器只有在使用 Microsoft Windows NT® 4.0 作为操作系统时才可用。
性能条件警报只供最前面的 99 个数据库使用。接在最前面的 99 个数据库之后创建的任何数据库都不会包括在
sysperfinfo 系统表中,并且,使用 sp_add_alert 过程会返回一个错误。
列名 数据类型 描述
object_name nchar(128) 性能对象名,如 SQL Server:锁管理器或 SQL Server:缓冲区管理器。
counter_name nchar(128) 对象内的性能计数器名称,如页请求或请求的锁。
instance_name nchar(128) 计数器的命名实例。例如,有为各类型的锁(如表锁、页锁、键锁等)维护的计数器。实例名在相似的计数器之间是有区别的。
cntr_value int 实际计数器值。大多数情况下,该值是一个级别或对实例事件发生进行计数的单调递增计数器。
cntr_type int Windows NT 4.0 性能构架定义的计数器类型。
------------------------
syspermissions
--------------------------
包含有关对数据库内的用户、组和角色授予和拒绝的权限的信息。该表存储在每个数据库中。
列名 数据类型 描述
id int 对象权限的对象 ID;0 表示语句权限。
grantee smallint 受权限影响的用户、组或角色的 ID。
grantor smallint 被授予或废除权限的用户、组或角色的 ID。
--------------------
syscomments
-------------------------
包含每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始 SQL 定义语句,其最大大小限制为 4 MB。该表存储在每个数据库中。
重要 不应删除
syscomments 中的项。如果手工删除或修改
syscomments 中的项,则对应的存储过程将不能正常工作。若要隐藏或加密存储过程定义,请使用含有 ENCRYPTION 关键字的 CREATE PROCEDURE。
列名 数据类型 描述
id int 该文本适用的对象 ID。
number smallint 如果进行分组,则为过程分组内的号码。0 表示不是过程的项。
colid smallint 超过 4,000 个字符的对象定义的行序列号。
status smallint 仅限内部使用。
ctext varbinary(8000) SQL 定义语句的实际文本。
texttype smallint 0 = 用户提供的注释。
1 = 系统提供的注释。
4 = 加密的注释。
language smallint 仅限内部使用。
encrypted bit 表示过程是否已加密。
0 = 未加密。
1 = 已加密。
compressed bit 表示过程是否已压缩。
0 = 未压缩
1 = 已压缩
text nvarchar(4000) SQL 定义语句的实际文本。
------------------------
sysprocesses存在于MASTER数据库中
--------------------
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) 登录名。
---------------------
sysalerts存在于MSDB数据库中
------------------------
每个警报在表中占一行。警报是为响应事件而发送的消息。警报可向 Microsoft® SQL Server™ 环境之外转发消息,警报可以是电子邮件或呼叫程序消息。警报还可以生成任务。
列名 数据类型 描述
id int 警报 ID。
name
sysname 警报名称。
event_source nvarchar(100) 事件源:SQL Server。
event_category_id int 留作以后使用。
event_id int 留作以后使用。
message_id int 用户定义的消息 ID 或对触发该警报的
sysmessages 消息的引用。
severity int 触发该警报的严重度。
enabled tinyint 警报的状态:
0 = 禁用。
1 = 启用。
delay_between_
responses int 该警报提示之间的等待周期(以秒为单位)。
last_occurrence_date int 警报的上次发生(日期)。
last_occurrence_time int 警报的上次发生(时间)。
last_response_date int 警报的上次提示(日期)。
last_response_time int 警报的上次提示(时间)。
notification_message nvarchar(512) 与警报一起发送的附加信息。
include_event_
description tinyint 表示是通过以下任一方式还是全部方式发送事件描述的位掩码:
1 = 电子邮件。
2 = 呼叫程序。
database_name
sysname 该警报必须在其中发生才能触发该警报的数据库。
event_description_keyword nvarchar(100) 为触发警报所必须匹配的错误模式。
occurrence_count int 该警报的发生计数。
count_reset_date int 天(日期)计数将重置为 0。
count_reset_time int 时间计数将重置为 0。
job_id uniqueidentifier 该警报发生时所执行任务的 ID。
has_notification int 警报发生时接收电子邮件提示的操作员人数。
---------------------
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 表示是否已计算该列的标志:
0 = 未计算。
1 = 已计算。
isoutparam int 表示该过程参数是否是输出参数:
1 = 真。
0 = 假。
isnullable int 表示该列是否允许空值:
1 = 真。
0 = 假。
---------------------