Analytics Platform System 中的工作负载管理任务

Analytics Platform System 中的工作负载管理任务。

查看每个资源类的登录成员

介绍如何在 SQL Server PDW 中显示每个资源类服务器角色的登录成员。 使用此查询找出每个登录提交的请求所允许的资源类。

有关资源类说明,请参阅工作负载管理

此查询显示每个资源类的成员身份列表。 这三个资源类是:mediumrc、largerc 和 xlargerc。

SELECT l.name AS [member], r.name AS [server role]  
FROM sys.server_role_members AS rm  
JOIN sys.server_principals AS l  
  ON l.principal_id = rm.member_principal_id  
JOIN  
  sys.server_principals AS r  
  ON r.principal_id = rm.role_principal_id  
WHERE  
  ( l.[type] = 'S' OR l.[type] = 'U' OR l.[type] = 'G' )  
  AND r.[type] = 'R'  
  AND r.[name] in ('mediumrc', 'largerc', 'xlargerc');  

如果登录不在此列表中,则其请求将接收默认资源。 如果登录是多个资源类的成员,则以最大类为准。

资源分配在工作负载管理中列出。

更改分配给请求的系统资源

介绍如何找出 SQL Server PDW 请求在哪个资源类下运行,以及如何更改该请求的系统资源。 更改请求的资源需要使用 ALTER SERVER ROLE 语句更改提交请求的登录的资源类成员身份。

步骤 1:确定运行请求的登录的资源类。

此查询显示资源类服务器角色成员身份的登录。 这三个资源类是:mediumrclargercxlargerc

重要

此查询必须由具有 CONTROL SERVER 权限的登录执行。 如果由没有 CONTROL SERVER 权限的登录执行,则此查询只返回当前登录的角色成员身份。

SELECT l.name AS [member], r.name AS [server role]  
FROM sys.server_role_members AS rm  
JOIN sys.server_principals AS l  
  ON l.principal_id = rm.member_principal_id  
JOIN  
  sys.server_principals AS r  
  ON r.principal_id = rm.role_principal_id  
WHERE  
  l.[type] = 'S'   
  AND r.[type] = 'R'  
  AND r.[name] in ('mediumrc', 'largerc', 'xlargerc');  
GO  

如果没有属于资源类服务器角色成员的登录,则生成的表将为空。 在这种情况下,如果查询返回名为 Ching 的登录,则当 Ching 提交请求时该,请求将收到默认系统资源,而这些资源会小于资源类系统资源。 如果登录是多个资源类的成员,则以最大类为准。

有关每个资源类的资源分配的列表,请参阅工作负载管理

步骤 2:在具有不同资源类成员身份的登录下运行请求

有两种方法可以运行包含较大或较小的系统资源的请求:

  • 在不同的登录名下运行请求,而该登录是较大或较小的资源类的成员。

  • 将必要的登录添加到其中一个资源类角色。 请谨慎选择此选项;更改登录的资源类将会更改登录提交的所有请求的系统资源级别。

假设 Ching 是 largerc 服务器角色的成员。 以下示例演示如何将登录 Ching 添加到 xlargerc 服务器角色。

ALTER SERVER ROLE xlargerc ADD MEMBER Ching;  

Ching 现在是 largerc 和 xlargerc 服务器角色的成员。 当 Ching 提交请求时,请求将接收 xlargerc 系统资源。

以下示例将 Ching 移回 mediumrc 服务器角色。 若要更改为新角色,必须从 xlargerc 和 largerc 服务器角色中删除登录,并添加到 mediumrc 服务器角色。

-- Move login Ching back to using medium system resources for requests.  
ALTER SERVER ROLE xlargerc DROP MEMBER Ching;  
ALTER SERVER ROLE largerc DROP MEMBER Ching;  
ALTER SERVER ROLE mediumrc ADD MEMBER Ching;  

Ching 现在是 mediumrc 服务器角色的成员。 以下示例将 Ching 更改为具有请求的默认系统资源。

-- Move login Ching to use the default system resources for requests.  
ALTER SERVER ROLE mediumrc DROP MEMBER Ching;  

有关更改资源类角色成员身份的详细信息,请参阅更改服务器角色

将登录更改为其请求的默认系统资源

介绍如何将分配给 SQL Server PDW 登录的系统资源分配更改为默认数量。

有关资源类说明,请参阅工作负载管理

当登录不是任何资源类服务器角色的成员时,登录提交的请求将接收默认的系统资源数量。

假设登录 Matt 当前是所有资源类服务器角色的成员,并希望还原为仅接收默认资源的请求。 以下示例通过从所有三个资源类服务器角色中删除其成员身份,将默认资源分配给 Matt 的请求。

--Give the requests submitted by Matt the default system resources   
--by dropping Matt from all resource class server roles.  
ALTER SERVER ROLE XLargeRC DROP MEMBER Matt;  
ALTER SERVER ROLE LargeRC DROP MEMBER Matt;  
ALTER SERVER ROLE MediumRC DROP MEMBER Matt;  

显示等待请求所需的并发槽数

介绍如何确定等待在 SQL Server PDW 上运行的请求所需的并发槽数。

有关详细信息,请参阅工作负载管理

请求可能等待的时间太长而未执行。 对请求进行故障排除的方法之一是查看请求所需的并发槽数。 以下示例显示了每个等待请求所需的并发槽数。

--Display the number of concurrency slots required   
--for each request that is waiting to run.  
SELECT request_id, concurrency_slots_used AS [Slots Needed], resource_class AS [Resource Class]  
FROM sys.dm_pdw_resource_waits;  

另请参阅

工作负载管理