Analytics Platform System 中的用户会话

具有适当权限的登录可以管理 SQL Server PDW 设备上的所有登录的会话,包括执行以下操作:

  • 查看设备上的当前会话,包括活动和空闲会话。
  • 查看会话的活动和最近查询。
  • 结束活动会话。

可以通过 SQL 命令使用使用管理员主机监视设备系统视图执行这些操作,如下所示。

使用任一方法管理会话所需的权限相同,并在授予管理登录、用户和数据库角色的权限中进行了介绍。

使用管理员主机管理会话

使用管理员主机查看当前会话

  1. 在顶部菜单中,单击会话

  2. 生成的列表会显示所有最近会话。 若要仅查看“活动”或“空闲”会话,请单击状态列标题,以按状态对结果进行排序。

使用管理员主机查看会话的活动和最近查询

  1. 在顶部菜单中,单击会话

  2. 在结果列表中,单击所需会话的会话 ID。

  3. 生成的查询列表会显示会话的最近查询。 有关查看查询详细信息的信息,请参阅监视活动查询

使用管理员主机结束会话

  1. 在顶部菜单中,单击会话

  2. 查找要取消的会话的会话 ID。

  3. 单击会话 ID 左侧的红色 X 以结束会话。 只有状态为“活动”或“空闲”的会话才会有红色 X;只有这些会话可以结束。

使用系统视图和 SQL 命令管理会话

使用系统视图查看当前会话

使用 sys.dm_pdw_exec_sessions 生成当前会话的列表。

此示例返回状态为“活动”或“空闲”的所有会话的 session_id、login_name 和状态。

SELECT session_id, login_name, status FROM sys.dm_pdw_exec_sessions WHERE status='Active' OR status='Idle';  

使用系统视图查看会话的活动和最近查询

若要查看与会话关联的活动和最近完成的查询,你可使用 sys.dm_pdw_exec_sessionssys.dm_pdw_exec_requests 视图。 此查询返回所有活动或空闲会话的列表,以及与每个会话 ID 关联的任何活动或最近查询。

SELECT es.session_id, es.login_name, es.status AS sessionStatus,   
er.request_id, er.status AS requestStatus, er.command   
FROM sys.dm_pdw_exec_sessions es   
LEFT OUTER JOIN sys.dm_pdw_exec_requests er   
ON (es.session_id=er.session_id)   
WHERE (es.status='Active' OR es.status='Idle') AND   
(er.status!= 'Completed' AND er.status!= 'Failed' AND er.status!= 'Cancelled');  

使用 SQL 命令结束会话

使用 KILL 命令结束当前会话。 需要进程的会话 ID 才能终止,可以使用 sys.dm_pdw_exec_sessions 视图获取该 ID。

在此示例中,选择 login_name、session_id 和状态值,以根据登录名查找会话。

SELECT session_id, login_name, status FROM sys.dm_pdw_exec_sessions;  

使用 KILL 命令可以结束状态为“活动”或“空闲”的会话。

KILL 'SID137';