是否有方法修改表master中的列program_name。。sysprocesses?
我找到了两种方法,但都在创建连接时设置了名称:
- 执行isql命令时使用参数appname
- 打开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的应用程序服务器
这些参数存储在
clientname
、clienthostname
和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