在 Azure Synapse Analytics 的专用 SQL 池中管理和监视工作负荷重要性
在 Azure Synapse 中使用 DMV 和目录视图管理和监视专用 SQL 池请求级别重要性。
监视重要性
使用 sys.dm_pdw_exec_requests 动态管理视图中新的“重要性”列监视重要性。 以下监视查询显示了查询的提交时间和开始时间。 查看提交时间和开始时间以及重要性,以了解重要性如何影响计划。
SELECT s.login_name, r.status, r.importance, r.submit_time, r.start_time
FROM sys.dm_pdw_exec_sessions s
JOIN sys.dm_pdw_exec_requests r ON s.session_id = r.session_id
WHERE r.resource_class is not null
ORDER BY r.start_time
若要进一步了解如何计划查询,请使用目录视图。
使用目录视图管理重要性
sys.workload_management_workload_classifiers 目录视图包含有关分类器的信息。 若要排除映射到资源类的系统定义的分类器,请执行以下代码:
SELECT *
FROM sys.workload_management_workload_classifiers
WHERE classifier_id > 12
目录视图 sys.workload_management_workload_classifier_details 包含有关创建分类器时使用的参数的信息。 以下查询显示 ExecReportsClassifier 是使用 membername
参数(值为 ExecutiveReports)创建的:
SELECT c.name,cd.classifier_type, classifier_value
FROM sys.workload_management_workload_classifiers c
JOIN sys.workload_management_workload_classifier_details cd
ON cd.classifier_id = c.classifier_id
WHERE c.name = 'ExecReportsClassifier'
为了简化分类错误的排查,我们建议在创建工作负荷分类器时删除资源类角色映射。 以下代码返回现有的资源类角色成员身份。 对从相应资源类返回的每个 membername
运行 sp_droprolemember。
以下是在删除工作负荷分类器之前检查是否存在的示例:
IF EXISTS (SELECT 1 FROM sys.workload_management_workload_classifiers WHERE name = 'ExecReportsClassifier')
DROP WORKLOAD CLASSIFIER ExecReportsClassifier;
GO