只需一个基本查询:
在Azure中,SQL Datawarehouse提供了一种方法来了解默认资源类及其关联的内存,为给定的SQL登录用户帐户分配的并发插槽。
可以从tsql代码中检索吗?
答案 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。