使用SQL而不是viewpoint查找teradata中当前正在运行的查询

使用SQL而不是viewpoint查找teradata中当前正在运行的查询,teradata,Teradata,我想了解目前针对某个用户或组执行的查询是什么。我不想用视点。我需要使用SQL实现此功能 试试这个 select * from dbc.SessionInfo; 您将有一个请求列表及其用户和组 我希望能帮助您在不使用Viewpoint的情况下获取当前活动会话的SQL。您需要使用PMPC API(我相信Viewpoint也会使用该API)从数据库中获取该信息 步骤1:从MontiorSession()获取MonitorSQLText()的输入值。 HostIDof-1将包括所有主机 “*”的用户名

我想了解目前针对某个用户或组执行的查询是什么。我不想用视点。我需要使用SQL实现此功能

试试这个

select * from dbc.SessionInfo;
您将有一个请求列表及其用户和组


我希望能帮助您

在不使用Viewpoint的情况下获取当前活动会话的SQL。您需要使用PMPC API(我相信Viewpoint也会使用该API)从数据库中获取该信息

步骤1:从MontiorSession()获取MonitorSQLText()的输入值。

HostID
of-1将包括所有主机

“*”的用户名将包括所有用户

SessionNo
0包括所有会话

您应该至少提供其中一个值以缩小搜索范围

步骤2:获取您感兴趣的会话的SQLText

SELECT HostID
     , SessionNo
     , RunVprocNo 
  FROM TABLE(MonitorSession({HostID}, {UserName}, {SessionNo})) AS T2;
SELECT *
  FROM TABLE (MonitorSQLText({HostID}, {SessionNo}, {RunVprocNo})) AS T2;
使用第一步中的
HostID
SessionNo
RunVprocNo

我尝试将步骤1中的值放入一个Volatile表和一个CTE中,以便动态地为步骤2提供数据。当我这样做时,数据库以一个错误进行响应,表明
MonitorSQLText()
无法在变量模式下运行。这与说明此API必须在“常量模式”下使用的文档一致


这应该适用于TD 14+和可能的TD 13.10。

视点使用的PMon API也可用,例如,它返回有关当前登录的所有会话的信息:

SELECT * FROM TABLE (MonitorSession(-1,'*',0)) AS dt;

您可以检查PEState或AMPState列以查找活动查询。

SessionInfo没有实际的SQL。是的,我不想要当前运行的查询。SessionInfo没有SQL级别的信息。尝试使用DBQL日志表,但它们仅在查询完成或中止时更新。我不想知道当前正在运行的查询以及查询何时开始运行