快速入门:使用 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 的连接。

  1. 打开 SQL Server Management Studio。

  2. 在“连接到服务器”对话框中,输入以下信息:

    设置 建议值 说明
    服务器类型 数据库引擎 此值是必需的
    服务器名称 完全限定的服务器名称 这里有一个示例:mySampleDataWarehouseservername.database.chinacloudapi.cn
    身份验证 SQL Server 身份验证 SQL 身份验证是本教程中配置的唯一身份验证类型。
    登录 服务器管理员帐户 在创建服务器时指定的帐户。
    密码 服务器管理员帐户的密码 创建服务器时指定的密码。

    SQL Server Management Studio 连接到专用 SQL 池的屏幕截图。

  3. 选择“连接”。 此时会在 SSMS 中打开“对象资源管理器”窗口。

  4. 在“对象资源管理器”中,展开“数据库”。 然后展开 mySampleDataWarehouse 查看新数据库中的对象。

    SQL Server Management Studio 对象资源管理器的屏幕截图,其中显示了数据库对象。

查看服务目标

服务目标设置包含专用 SQL 池(之前称为 SQL DW)的数据仓库单位数。

若要查看专用 SQL 池(之前称为 SQL DW)当前数据仓库单位:

  1. 在与 mySampleDataWarehouseservername.database.chinacloudapi.cn 的连接下,展开“系统数据库”。

  2. 右键单击 master 系统数据库并选择“新建查询”。 此时将打开一个新的查询窗口。

  3. 运行以下查询,从 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';
    
  4. 以下结果显示 mySampleDataWarehouseService Objective 列中具有服务目标 DW400。

    SQL Server Management Studio 结果集的屏幕截图,其中显示了“服务目标”列中的当前 DWU。

缩放计算

在专用 SQL 池(之前称为 SQL DW)中,可以通过调整数据仓库单位来增加或减少计算资源。 创建并连接 - 门户创建了 mySampleDataWarehouse 并使用 400 DWU 对其进行了初始化。 以下步骤调整为 DWU mySampleDataWarehouse

更改数据仓库单位:

  1. 右键单击 master 系统数据库并选择“新建查询”。

  2. 使用 ALTER DATABASE T-SQL 语句修改的服务目标。 运行以下查询以将服务目标更改为 DW300。

    ALTER DATABASE mySampleDataWarehouse
    MODIFY (SERVICE_OBJECTIVE = 'DW300c');
    

监视规模更改请求

若要查看以前的更改请求的进度,可以使用 WAITFORDELAY T-SQL 语法来轮询 sys.dm_operation_status 动态管理视图 (DMV)。

若要轮询服务对象更改状态,请执行以下操作:

  1. 右键单击 master 系统数据库并选择“新建查询”。

  2. 运行以下查询来轮询 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';
    
  3. 生成的输出显示了状态轮询的日志。

    SQL Server Management Studio 屏幕截图,其中显示了用于监视专用 SQL 池操作状态的查询输出。显示了一系列“正在进行的缩放操作”行,最后一行显示“完成”。

检查专用 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,请继续阅读有关加载数据的教程。