快速入门:使用 T-SQL 在专用 SQL 池中配置工作负载隔离
在本快速入门中,你将快速创建工作负荷组和分类器,以便保留资源以进行数据加载。 工作负荷组将向数据加载分配 20% 的系统资源。 工作负荷分类器将向数据加载工作负荷组分配请求。 它们对数据加载实现 20% 的隔离,这两项资源都必定满足 SLA 要求。
如果没有 Azure 订阅,请在开始前创建一个试用 Azure 帐户。
注意
在 Azure Synapse Analytics 中创建一个 Synapse SQL 实例可能会产生一个新的可计费服务。 有关详细信息,请参阅 Azure Synapse Analytics 定价。
先决条件
本快速入门假定你已在 Azure Synapse 中有 Synapse SQL 实例,并且具有 CONTROL DATABASE 权限。 如果需要创建一个 SQL 池,请参考创建和连接 - 门户创建名为 mySampleDataWarehouse 的专用 SQL 池。
为 DataLoads 创建登录名
使用 CREATE LOGIN 在 master
数据库中为“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 池。
后续步骤
- 现已创建一个工作负荷组。 以 ELTLogin 身份运行一些查询,以查看其执行情况。 若要查看查询和分配的工作负荷组,请参阅 sys.dm_pdw_exec_requests。
- 有关 Synapse SQL 工作负载管理的详细信息,请参阅工作负载管理和工作负载隔离。