快速入门:使用 T-SQL 在 Azure Synapse Analytics 中缩放专用 SQL 池(以前称为 SQL DW)中的计算
使用 T-SQL 和 SQL Server Management Studio (SSMS) 缩放专用 SQL 池中的计算。 横向扩展计算以提高性能或按比例缩减计算以节约成本。
如果没有 Azure 订阅,请在开始前创建一个试用 Azure 帐户。
注意
本文适用于在 Azure Synapse Analytics 工作区中创建的专用 SQL 池、专用 SQL 池(前称 SQL DW)以及连接工作区中的专用 SQL 池(前称 SQL DW)。
开始之前
下载并安装最新版本的 SQL Server Management Studio (SSMS)。
创建专用 SQL 池(如需)
本快速入门假设你已有一个专用 SQL 池。
如果需要,建议在 Azure Synapse 工作区中创建新的专用 SQL 池。 创建 Azure Synapse 工作区,然后使用 Synapse Studio 创建专用 SQL 池。 或者,可以创建旧版专用 SQL 池(前称 SQL DW),方法是使用快速入门:创建和连接 - 门户创建名为 mySampleDataWarehouse
的专用 SQL 池(前称 SQL DW)。
确保你有防火墙规则并可以从 SQL Server Management Studio (SSMS) 中连接到你的专用 SQL 池。
以服务器管理员的身份连接到服务器
本部分使用 SQL Server Management Studio (SSMS) 来建立与 Azure SQL Server 的连接。
打开 SQL Server Management Studio。
在“连接到服务器”对话框中,输入以下信息:
设置 建议值 说明 服务器类型 数据库引擎 此值是必需的 服务器名称 完全限定的服务器名称 这里有一个示例:mySampleDataWarehouseservername.database.chinacloudapi.cn 。 身份验证 SQL Server 身份验证 SQL 身份验证是本教程中配置的唯一身份验证类型。 登录 服务器管理员帐户 在创建服务器时指定的帐户。 密码 服务器管理员帐户的密码 创建服务器时指定的密码。 选择“连接” 。 此时会在 SSMS 中打开“对象资源管理器”窗口。
在“对象资源管理器”中,展开“数据库”。 然后展开
mySampleDataWarehouse
查看新数据库中的对象。
查看服务目标
服务目标设置包含专用 SQL 池(之前称为 SQL DW)的数据仓库单位数。
若要查看专用 SQL 池(之前称为 SQL DW)当前数据仓库单位:
在与 mySampleDataWarehouseservername.database.windows.net
mySampleDataWarehouseservername.database.chinacloudapi.cn
的连接下,展开“系统数据库”。右键单击
master
系统数据库并选择“新建查询”。 此时将打开一个新的查询窗口。运行以下查询,从
sys.database_service_objectives
动态管理视图进行选择。SELECT db.name AS [Database] , ds.edition AS [Edition] , ds.service_objective AS [Service Objective] FROM sys.database_service_objectives ds JOIN sys.databases db ON ds.database_id = db.database_id WHERE db.name = 'mySampleDataWarehouse';
以下结果显示
mySampleDataWarehouse
在Service Objective
列中具有服务目标 DW400。
缩放计算
在专用 SQL 池(之前称为 SQL DW)中,可以通过调整数据仓库单位来增加或减少计算资源。 创建并连接 - 门户创建了 mySampleDataWarehouse
并使用 400 DWU 对其进行了初始化。 以下步骤调整为 DWU mySampleDataWarehouse
。
更改数据仓库单位:
右键单击
master
系统数据库并选择“新建查询”。使用 ALTER DATABASE T-SQL 语句修改的服务目标。 运行以下查询以将服务目标更改为 DW300。
ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300c');
监视规模更改请求
若要查看以前的更改请求的进度,可以使用 WAITFORDELAY
T-SQL 语法来轮询 sys.dm_operation_status 动态管理视图 (DMV)。
若要轮询服务对象更改状态,请执行以下操作:
右键单击
master
系统数据库并选择“新建查询”。运行以下查询来轮询 sys.dm_operation_status DMV。
WHILE ( SELECT TOP 1 state_desc FROM sys.dm_operation_status WHERE 1=1 AND resource_type_desc = 'Database' AND major_resource_id = 'mySampleDataWarehouse' AND operation = 'ALTER DATABASE' ORDER BY start_time DESC ) = 'IN_PROGRESS' BEGIN RAISERROR('Scale operation in progress',0,0) WITH NOWAIT; WAITFOR DELAY '00:00:05'; END PRINT 'Complete';
生成的输出显示了状态轮询的日志。
检查专用 SQL 池(之前称为 SQL DW)状态
暂停专用 SQL 池(之前称为 SQL DW)时,无法使用 T-SQL 连接它。 若要查看专用 SQL 池(之前称为 SQL DW)的当前状态,可使用 PowerShell cmdlet。 有关示例,请参阅检查专用 SQL 池(之前称为 SQL DW)状态 - PowerShell。
检查操作状态
若要返回有关在专用 SQL 池(之前称为 SQL DW)的各种管理操作的信息,请运行以下查询 sys.dm_operation_status DMV。 例如,它返回操作和操作状态,后者为 IN_PROGRESS 或 COMPLETED。
SELECT *
FROM
sys.dm_operation_status
WHERE
resource_type_desc = 'Database'
AND
major_resource_id = 'mySampleDataWarehouse';
后续步骤
你现在已了解了如何缩放专用 SQL 池(之前称为 SQL DW)中的计算。 若要详细了解 Azure Synapse Analytics,请继续阅读有关加载数据的教程。