DBASK-数据库管理员结构化知识体系-Structured knowledge system for DataBase Administrators

Home

systhresholds

为数据库定义的每个阈值在 systhresholds 中都有相应的一行

说明

为数据库定义的每个阈值在 systhresholds 中都有相应的一行

名称 数据类型 说明
segment smallint 正在监控可用空间的段号。
free_space int 阈值的大小,以逻辑页为单位。
status smallint 对于日志段的最后机会阈值,第 1 位等于 1,而对于所有其它阈值,第 1 位等于 0。
proc_name varchar(255) 当 segment 上的未使用页数少于 free_space 时所执行的过程的名称。
suid int null 添加阈值或最近修改阈值的用户的服务器用户 ID。
currauth varbinary(255) null 位屏蔽,表示在添加阈值或最近修改阈值时为 suid 激活的角色。 当超过阈值时,proc_name 使用该角色集来执行,但要扣除在添加阈值或上次修改阈值后已失效的所有角色。

根据 currauth 确定活动角色

在 currauth 列中可能看到(单个或组合形式)的可能位屏蔽。

十进制 十六进制 Status
1 0x1 sa_role
2 0x2 sso_role
4 0x4 oper_role
8 0x8 sybase_ts_role
16 0x10 sybase_ts_role
32 0x20 navigator _ole
128 0x80 replication_role
256 0x100 dtm_tm_role
1024 0x400 ha_role
2048 0x800 mon_role
4096 0x1000 js_admin_role
16384 0x4000 messaging_role
32768 0x8000 web_services
  • 要确定 Adaptive Server 中哪一个角色 ID 与 currauth 中的位屏蔽输出相关联,请执行以下 select 语句:
select (c.number - 1) as role_id,role_name(c.number - 1) as role_name
from systhresholds ,master.dbo.spt_values c
where   convert(tinyint,substring(isnull(currauth,0x1), c.low,1)) &
c.high != 0
and c.type = "P"
and c.number <= 1024
and c.number >0
and role_name(c.number - 1) is not null
go
 

Adaptive Server 将返回类似于以下输出的内容:

role_id     role_name
----------- -----------------------------
0 				sa_role
1			 	sso_role
2 				oper_role
3 				sybase_ts_role
4 				navigator_role
7 				dtm_tm_role
10				 mon_role
11 			js_admin_role
12 			messaging_role
13 			js_client_role