你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Azure 门户创建专用 SQL 池工作负载分类器

在本快速入门中,你将创建一个工作负载分类器,用于将查询分配到工作负载组。 该分类器将 ELTLogin SQL 用户的请求分配到 DataLoads 工作负载组。 按照快速入门:配置工作负载隔离教程创建 DataLoads 工作负载组。 本教程将使用 WLM_LABEL 选项创建工作负载分类器,这样有助于对请求进一步进行正确的分类。 该分类器还会将 HIGH工作负载重要性分配到这些请求。

如果还没有 Azure 订阅,可以在开始前创建一个免费 Azure 帐户

登录到 Azure 门户

登录 Azure 门户

注意

在 Azure Synapse Analytics 中创建专用 SQL 池实例可能会产生一个新的可计费服务。 有关详细信息,请参阅 Azure Synapse Analytics 定价

先决条件

本快速入门假定你已拥有具有 CONTROL DATABASE 权限的专用 SQL 池实例。 如果需要创建一个 SQL 池,请参考创建和连接 - 门户创建名为 mySampleDataWarehouse 的专用 SQL 池。

存在工作负载组 DataLoads。 请参阅快速入门:配置工作负载隔离教程以创建工作负载组。

重要

专用 SQL 池必须联机才能配置工作负载管理。

创建 ELTLogin 的登录名

使用 CREATE LOGINmaster 数据库中为 ELTLogin 创建 SQL Server 身份验证登录名。

IF NOT EXISTS (SELECT * FROM sys.sql_logins WHERE name = 'ELTLogin')
BEGIN
CREATE LOGIN [ELTLogin] WITH PASSWORD='<strongpassword>'
END
;

创建用户并授予权限

创建登录名后,需要在数据库中创建一个用户。 使用 CREATE USER 在 mySampleDataWarehouse 中创建 SQL 用户 ELTRole 。 由于我们将在本教程中测试分类,因此请授予对 mySampleDataWarehouse 的 ELTLogin 权限 。

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'ELTLogin')
BEGIN
CREATE USER [ELTLogin] FOR LOGIN [ELTLogin]
GRANT CONTROL ON DATABASE::mySampleDataWarehouse TO ELTLogin 
END
;

配置工作负载分类

分类允许你基于一组规则将请求路由到工作负载组。 在快速入门:配置工作负载隔离教程中,我们已创建 DataLoads 工作负载组。 现在,你将创建一个工作负载分类器,用于将查询路由到 DataLoads 工作负载组。

  1. 导航到 mySampleDataWarehouse 专用 SQL 池页面。

  2. 选择“工作负载管理”。

    Click Menu

  3. 选择 DataLoads 工作负载组右侧的“设置和分类器”

    Click Create

  4. 选择“分类器”列下的“未配置”。

  5. 选择“+ 添加分类器”。

    Click Add

  6. 在“名称”中输入 ELTLoginDataLoads

  7. 在“成员”中输入 ELTLogin

  8. 为“请求重要性”选择 High 。 这是可选字段,默认设置为一般重要性 。

  9. 在“标签”中输入 fact_loads

  10. 选择“添加” 。

  11. 选择“保存”。

    Click Config

验证并测试分类

检查 sys.workload_management_workload_classifiers 目录视图,验证是否存在 ELTLoginDataLoads 分类器。

SELECT * FROM sys.workload_management_workload_classifiers WHERE name = 'ELTLoginDataLoads'

检查 sys.workload_management_workload_classifier_details 目录视图,验证分类器详细信息。

SELECT c.[name], c.group_name, c.importance, cd.classifier_type, cd.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 = 'ELTLoginDataLoads'

运行以下语句以测试分类。 确保以 ELTLogin 身份连接并在查询中使用 Label

CREATE TABLE factstaging (ColA int)
INSERT INTO factstaging VALUES(0)
INSERT INTO factstaging VALUES(1)
INSERT INTO factstaging VALUES(2)
GO

CREATE TABLE testclassifierfact WITH (DISTRIBUTION = ROUND_ROBIN)
AS
SELECT * FROM factstaging
OPTION (LABEL='fact_loads')

使用 ELTLoginDataLoads 工作负载分类器验证已分类到 DataLoads 工作负载组的 CREATE TABLE 语句。

SELECT TOP 1 request_id, classifier_name, group_name, resource_allocation_percentage, submit_time, [status], [label], command 
FROM sys.dm_pdw_exec_requests 
WHERE [label] = 'fact_loads'
ORDER BY submit_time DESC

清理资源

若要删除在本教程中创建的 ELTLoginDataLoads 工作负载分类器,请执行以下步骤:

  1. 单击 DataLoads 工作负载组右侧的“1 分类器” 。

    Click Delete

  2. 单击“分类器” 。

  3. 单击 ELTLoginDataLoads 工作负载分类器右侧的 ...

  4. 单击“删除” 。

  5. 单击“保存” 。

    Click Save

我们会针对专用 SQL 池中存储的数据,按数据仓库单位收费。 这些计算和存储资源是分开计费的。

  • 如果想要将数据保留在存储中,可以在不使用专用 SQL 池时暂停计算。 如果暂停计算资源,则你只需支付数据存储费用。 准备好处理数据时,可以恢复计算。
  • 若要避免将来产生费用,可以删除该专用 SQL 池。

遵循以下步骤清理资源。

  1. 登录到 Azure 门户,选择你的专用 SQL 池。

    Clean up resources

  2. 若要暂停计算,请选择“暂停” 按钮。 暂停专用 SQL 池后,会看到“启动”按钮。 若要恢复计算,请选择“启动”。

  3. 若要删除专用 SQL 池以免产生计算或存储费用,请选择“删除”。

后续步骤

使用 Azure 门户监视指标监视工作负载。 有关详细信息,请参阅管理和监视工作负载管理