【问题标题】:Resource Class - Azure SQL DW资源类 - Azure SQL DW
【发布时间】:2019-03-05 09:00:11
【问题描述】:

只有一个基本查询:

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

这可以从 tsql 代码中检索到吗?

【问题讨论】:

    标签: azure-sqldw


    【解决方案1】:

    在 Azure Data 中,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 联合起来,以查看哪个用户正在运行每个查询。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-05-25
        • 1970-01-01
        • 2021-03-18
        • 2017-07-28
        • 2018-09-05
        • 2020-12-13
        • 1970-01-01
        • 2020-06-16
        • 2016-02-12
        相关资源
        最近更新 更多