报告连接属性信息。
sa_conn_info( [ connidparm ] )
connidparm 此可选 INTEGER 参数指定连接 ID 号。缺省值为 NULL。
列名 | 数据类型 | 说明 |
---|---|---|
Number | INTEGER |
返回当前连接的连接 ID(数字)。 |
Name | VARCHAR(255) |
返回当前连接的连接 ID(数字)。 临时连接名在连接名前面附有 INT:。 |
Userid | VARCHAR(255) |
返回连接的用户 ID。 |
DBNumber | INTEGER |
返回数据库的 ID 编号。 |
LastReqTime | VARCHAR(255) |
返回指定连接的最后一个请求开始的时间。此属性可以为内部连接(如事件)返回空字符串。 |
ReqType | VARCHAR(255) |
返回上次请求的类型。如果连接已由连接池进行了高速缓存,则其 ReqType 值为 CONNECT_POOL_CACHE。 |
CommLink | VARCHAR(255) |
返回连接的通信链接。这是 SQL Anywhere 所支持的网络协议之一,或者 local,如果为相同计算机连接。 |
NodeAddr | VARCHAR(255) | 返回客户端/服务器连接中客户端的地址。 |
ClientPort | INTEGER |
返回客户端的 TCP/IP 端口号;或者如果连接不是 TCP/IP 连接,则返回 0。 |
ServerPort | INTEGER |
返回数据库服务器的 TCP/IP 端口号或 0。 |
BlockedOn | INTEGER |
如果当前连接未被阻塞,则返回零;如果当前连接被阻塞,则返回由于锁定冲突而阻塞连接的连接号。 |
LockRowID | UNSIGNED BIGINT |
返回锁定行的标识符。 如果连接并未等待与行相关联的锁(即它未等待锁或正在等待不与行相关联的锁),则 LockRowID 为 NULL。 |
LockIndexID | INTEGER |
返回锁定索引的标识符。 如果锁与 LockTable 中的表上的所有索引相关联,则 LockIndexID 为 -1。如果连接并未等待与索引相关联的锁(即它未等待锁或正在等待不与索引相关联的锁),则 LockRowID 为 NULL。 |
LockTables | VARCHAR(255) | 如果连接正在等待锁,则返回与锁相关联的表名称。否则,LockTable 返回一个空字符串。 |
UncommitOps | INTEGER | 返回未提交的操作数。 |
ParentConnection | INTEGER |
返回已创建临时连接以执行数据库操作(如执行备份或创建数据库)的连接的连接 ID。对于其它类型的连接,此属性返回 NULL。 |
如果 connidparm 小于零,则返回由当前连接的连接属性组成的结果集。如果 connidparm 未提供或为 NULL,则为数据库服务器上运行的所有数据库的所有连接返回连接属性。
当发生阻塞时,使用此过程所返回的 BlockedOn 值可以检查哪些用户被阻塞以及是谁阻塞的。sa_locks 系统过程可用于显示阻塞的连接所持有的锁。
有关基于任意这些属性的详细信息,可执行与以下类似的内容:
SELECT *, DB_NAME( DBNumber ), CONNECTION_PROPERTY( 'LastStatement', Number ) FROM sa_conn_info( ); |
LockRowID 的值可用于在 sa_locks 过程的输出中查找锁。
LockIndexID 的值可用于在 sa_locks 过程的输出中查找锁。此外,LockIndexID 的值对应于 ISYSIDX 系统表的主键,可使用 SYSIDX 系统视图查看此系统表。
每个锁都具有关联的表,因此,LockTable 的值可用于明确地确定某连接是否正在等待锁。
云注意事项: 由于租户数据库的隔离规则,当在云中运行此系统过程时,仅会返回关于当前租户数据库的信息。
为当前连接 ID 执行此系统过程不需要任何特权。要为其它连接执行此系统过程,您必须具有 SERVER OPERATOR、MONITOR 或 DROP CONNECTION 系统特权。
无
以下示例使用 sa_conn_info 系统过程为连接到服务器的所有连接返回一个汇总连接属性的结果集。
CALL sa_conn_info( ); |
Number | Name | Userid | DBNumber | ... |
---|---|---|---|---|
79 | SQL_DBC_10dcf810 | DBA | 0 | ... |
46 | setup | User1 | 0 | ... |
... | ... | ... | ... | ... |
以下示例使用 sa_conn_info 系统过程返回结果集,其中显示是哪个连接创建了临时连接。
SELECT Number, Name, ParentConnection FROM sa_conn_info(); |
Connection 8 创建了执行 CREATE DATABASE 语句的临时连接。
Number Name ParentConnection ------------------------------------------------ 1000000048 INT: CreateDB 8 9 SQL_DBC_14675af8 (NULL) 8 SQL_DBA_152d5ac0 (NULL) |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |