您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_iqwho 过程

显示所有当前用户和连接的相关信息,或显示特定用户或连接的相关信息。

语法

sp_iqwho [ {  |  } [,  ] ]

参数

  • connhandle表示连接 ID 的整数。如果指定此参数,则 sp_iqwho 将仅返回指定连接的相关信息。如果指定的连接未打开,则输出中不显示任何行。

  • user-name表示用户登录名的 char(255) 参数。如果指定此参数,则 sp_iqwho 将仅返回指定用户的相关信息。如果指定的用户尚未打开任何连接,则输出中不显示任何行。如果指定的用户名在数据库中不存在,sp_iqwho 会返回错误消息 "User does not exist.”(用户 user-name 不存在。)

  • arg-type(可选)只有在指定第一个参数以后才能指定该参数。 的值只能是"user"。如果将 的值指定为 "user",则 sp_iqwho 会将第一个参数解释为用户名,即使第一个参数为数字。如果为 指定 "user" 以外的任何值,则 sp_iqwho 将返回错误 "Invalid parameter.”(无效参数。) 请用双引号将 值引起来。

    特权

    您必须具有系统过程的 EXECUTE 特权。 您还必须具有以下其中一种系统特权:

  • DROP CONNECTION

  • MONITOR

  • SERVER OPERATOR

    注释

    sp_iqwho 存储过程显示所有当前用户和连接的相关信息,或显示特定用户或连接的相关信息。

    列名说明ConnHandleSA 连接句柄。IQConnIDSAP IQ 特定的连接 ID。Userid打开连接 "ConnHandle" 的用户的姓名。BlockedOn在其上阻塞特定连接的连接;如果在任何连接上均未进行阻塞则为 0。BlockUserid阻塞连接的所有者;如果没有阻塞连接则为 NULL 。 ReqType通过连接进行的请求的类型;如果未发出任何命令则为 DO_NOTHING。IQCmdType连接所发出的 SAP IQ 命令的类型;如果未发出任何命令则为 NONE。IQIdle自上个 product-name 命令通过连接发出以来所经历的时间(以秒为单位);如果之前没有 SAP IQ 命令,则显示自 2000 年 1 月 1 日起所经历的时间。SAIdle自通过连接发出上个 SA 请求以来所经过的时间(以秒为单位);如果之前没有 SA 命令,则显示自 2000 年 1 月 1 日起所经过的时间。IQCursors连接中的活动游标数;如果没有游标则为 0。IQThreads连接的线程数。连接打开后至少会立即启动一个线程,因此 IQThreads 的最小值为 1。TempTableSpaceKB临时表空间的大小(以 KB 为单位);如果没有使用临时表空间则为 0TempWorkSpaceKB临时工作空间的大小(以 KB 为单位);如果没有使用临时工作空间则为 0 

    以下内容列出了 sp_who 和 sp_iqwho 列的映射关系:

    sp_who 列sp_iqwho 列fid块所属的系列;已省略,因为不适用于 SAP IQspidConnHandle、IQConnIDstatusIQIdle、SAIdleloginameUseridorigname用户别名;已省略,因为不适用于 SAP IQhostname运行服务器的主机的名称;当前不支持blk_spidBlockedOndbname已省略,因为对于 SAP IQ,有一个服务器和一个数据库,并且对于每个连接它们都相同cmdReqType、IQCmdTypeblock_xloidBlockUserid 

    如果未指定任何参数,则 sp_iqwho 将显示所有当前活动连接和用户的相关信息。

    第一个 sp_iqwho 参数可以指定为连接句柄或用户名。参数 都是排它参数和可选参数。一次只能指定这些参数中的一个。缺省情况下,如果第一个参数是数字,则假定此参数为连接句柄。如果第一个参数不是数字,则假定此参数为用户名。

    SAP IQ 允许数字形式的用户名。 参数指示 sp_iqwho 将第一个参数中的数值解释为用户名。例如:

    sp_iqwho 1, "user"

    如果将 的值指定为 "user" , sp_iqwho 会将第一个参数 1 解释为用户名,而不是连接 ID。如果数据库中包含名为 1 的用户, sp_iqwho 将显示有关由用户 1 打开的连接的信息。 语法输出sp_iqwho显示所有活动连接sp_iqwho 3显示连接 3 的相关信息sp_iqwho "DBA"显示由用户 DBA 打开的连接 sp_iqwho 3, "user"将 3 解释为用户名,并显示由用户 3 打开的连接。如果用户 3 不存在,则返回错误 "User 3 does not exist.”(用户 3 不存在。) sp_iqwho non-existing-user返回错误 "User non-existing-user does not exist."(用户 non-existing-user 不存在。) sp_iqwho 3, "xyz"返回错误 "Invalid parameter: xyz."(无效参数:xyz。) 