修改master.sysprocesses[Sybase]中的值



是否有方法修改表master中的列program_name。。sysprocesses

我找到了两种方法,但都在创建连接时设置了名称:

  1. 执行isql命令时使用参数appname
  2. 打开ODBC连接时,在连接字符串中添加参数APP=

我正在寻找一种方法,在创建后对其进行修改。

我尝试了以下示例:

sp_configure "allow updates",1
go

UPDATE master..sysprocesses
SET program_name = 'test'
where hostname = 'server'
and hostprocess = '23240'
go

sp_configure "allow updates",0
go

但失败了:

Could not execute statement.
Table 'sysprocesses' can't be modified.
Sybase error code=270
Severity Level=16, State=1, Transaction State=0
Line 4
You can continue executing or stop.

创建列sysprocesses.program_name后,不允许对其进行更改。但在创建连接后,系统进程中有三列可以更改

  • sysprocesses.clientname
  • sysprocesses.clientapplname
  • sysprocesses.clienthostname

Sybase信息中心网站上的练习:

更改用户会话信息

set命令包括选项允许您为每个客户端分配一个单独的名称、主机名、,和应用程序名称。这有助于区分客户在许多客户端使用相同的名称、主机名或应用程序名。

set命令的部分语法为:

set [clientname client_name | clienthostname host_name | clientapplname application_name]

其中:

客户端名称–是您为客户端指定的名称。

主机名–是客户端所在主机的名称连接。

application_name–是连接到Adaptive的应用程序服务器

这些参数存储在clientnameclienthostname和CCD_ 11表的CCD_。

例如,如果用户以"身份登录到Adaptive Server;客户端1">,你可以为它们分配一个单独的客户端名称、主机名和应用程序使用类似于以下命令的名称:

set clientname 'alison'

set clienthostname 'money1'

set clientapplname 'webserver2'

。.

使用客户端的系统进程ID查看其连接信息例如,如果用户"alison">如上所述连接到13的spid,发出以下命令查看所有该用户的连接信息:

select * from sysprocesses where spid = 13

要查看当前客户端连接的连接信息(例如,如果用户"alison">想要查看自己的连接信息(,请输入:

select * from sysprocesses where spid = @@spid

相关内容

  • 没有找到相关文章

最新更新