资源类-Azure SQL DW

时间:2018-09-29 17:45:28

标签: azure-sqldw

只需一个基本查询:

在Azure中,SQL Datawarehouse提供了一种方法来了解默认资源类及其关联的内存,为给定的SQL登录用户帐户分配的并发插槽。

可以从tsql代码中检索吗?

2 个答案:

答案 0 :(得分:0)

在Azure数据Warehouse resource classes中是通过数据库角色实现的。

要找出用户的数据库角色,可以使用this query

SELECT DP1.name AS DatabaseRoleName,   
   isnull (DP2.name, 'No members') AS DatabaseUserName   
 FROM sys.database_role_members AS DRM  
 RIGHT OUTER JOIN sys.database_principals AS DP1  
   ON DRM.role_principal_id = DP1.principal_id  
 LEFT OUTER JOIN sys.database_principals AS DP2  
   ON DRM.member_principal_id = DP2.principal_id  
WHERE DP1.type = 'R'
ORDER BY DP1.name; 

AFAIK没有DMV或预定义的存储过程来显示最大内存大小/并发插槽的数字。 话虽如此,在Gen1上,您可以使用prc_workload_management_by_DWU查找所需的信息。对于Gen2,您可以根据在线书籍编写自己的映射存储过程。

如果您想了解实时资源消耗,请查看sys.dm_pdw_exec_requests并将其与session_id上的sys.dm_pdw_exec_sessions结合使用,以查看哪个用户正在运行每个查询。

答案 1 :(得分:0)

Pio所指的文章(Workload management with resource classes)提到smallrc是默认资源类。这适用于所有登录名。在Gen1上,smallrc始终获得1个并发插槽。在Gen2上,smallrc是动态资源类,在实例缩放时会添加并发插槽。有关如何将并发时隙分配给smallrc和其余资源类的更多详细信息,请参见Memory and concurrency limits