快速入门:使用 T-SQL 在专用 SQL 池中配置工作负载隔离

在本快速入门中,你将快速创建工作负荷组和分类器,以便保留资源以进行数据加载。 工作负荷组将向数据加载分配 20% 的系统资源。 工作负荷分类器将向数据加载工作负荷组分配请求。 它们对数据加载实现 20% 的隔离,这两项资源都必定满足 SLA 要求。

如果没有 Azure 订阅,请在开始前创建一个试用帐户

注意

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

先决条件

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

为 DataLoads 创建登录名

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

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

创建用户

在 mySampleDataWarehouse 中创建用户“ELTLogin”

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'ELTLogin')
BEGIN
CREATE USER [ELTLogin] FOR LOGIN [ELTLogin]
END
;

创建工作负荷组

为隔离度为 20% 的 DataLoads 创建工作负荷组

CREATE WORKLOAD GROUP DataLoads
WITH ( MIN_PERCENTAGE_RESOURCE = 20
      ,CAP_PERCENTAGE_RESOURCE = 100
      ,REQUEST_MIN_RESOURCE_GRANT_PERCENT = 5)
;

创建工作负荷分类器

创建工作负荷分类器以将 ELTLogin 映射到 DataLoads 工作负荷组。

CREATE WORKLOAD CLASSIFIER [wgcELTLogin]
WITH (WORKLOAD_GROUP = 'DataLoads'
      ,MEMBERNAME = 'ELTLogin')
;

查看现有工作负荷组、分类器和运行时值

--Workload groups
SELECT * FROM
sys.workload_management_workload_groups

--Workload classifiers
SELECT * FROM
sys.workload_management_workload_classifiers

--Run-time values
SELECT * FROM
sys.dm_workload_management_workload_groups_stats

清理资源

DROP WORKLOAD CLASSIFIER [wgcELTLogin]
DROP WORKLOAD GROUP [DataLoads]
DROP USER [ELTLogin]
;

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

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

后续步骤