在 Azure SQL 数据库中管理弹性池
适用于:Azure SQL 数据库
使用弹性池,可以确定弹性池处理其数据库工作负荷所需的资源量,以及每个共用数据库的资源量。
Azure 门户
所有池设置都可在一个位置找到:“配置池”窗格。 若要转到此处,请在 Azure 门户中找到所需的弹性池,然后从“概述”页菜单或从“设置”下的资源菜单选择“配置”。
在此处,可以进行以下任意更改组合,并将所有这些更改保存到一个批处理文件中:
- 更改池的服务层级。
- 缩放性能(DTU 或 vCore)和存储。
- 在池中添加或删除数据库。
- 为池中的数据库设置最小(保证)和最大性能限制。
- 检查成本摘要,以查看做出新选择后帐单的任何更改。
PowerShell
注意
本文使用 Azure Az PowerShell 模块,这是与 Azure 交互时推荐使用的 PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
重要
PowerShell Azure 资源管理器模块仍受 Azure SQL 数据库的支持,但所有未来的开发都是针对 Az.Sql
模块。 若要了解这些 cmdlet,请参阅 AzureRM.Sql。 Az 模块和 AzureRm 模块中的命令参数大体上是相同的。
若要使用 Azure PowerShell 创建并管理 SQL 数据库弹性池和共用数据库,请使用以下 PowerShell cmdlet。 如果需要安装或升级 PowerShell,请参阅安装 Azure PowerShell 模块。 若要创建和管理弹性池的服务器,请参阅创建和管理服务器。 若要创建和管理防火墙规则,请参阅使用 PowerShell 创建和管理防火墙规则。
提示
有关 PowerShell 示例脚本,请参阅使用 PowerShell 创建弹性池、在池之间移动数据库以及将数据库移出池和使用 PowerShell 监视和缩放 Azure SQL 数据库中的 SQL 弹性池。
Cmdlet | 说明 |
---|---|
New-AzSqlElasticPool | 创建弹性池。 |
Get-AzSqlElasticPool | 获取弹性池及其属性值。 |
Set-AzSqlElasticPool | 修改弹性池的属性。例如,使用“StorageMB”属性修改弹性池的最大存储。 |
Remove-AzSqlElasticPool | 删除弹性池。 |
Get-AzSqlElasticPoolActivity | 获取弹性池的运行状态 |
Stop-AzSqlElasticPoolActivity | 取消对弹性池的异步更新操作。 |
New-AzSqlDatabase | 在现有池中创建新数据库或将其创建为单一数据库。 |
Get-AzSqlDatabase | 获取一个或多个数据库。 |
Set-AzSqlDatabase | 设置数据库的属性,将现有数据库移入、移出弹性池或在其之间移动。 |
Remove-AzSqlDatabase | 删除数据库。 |
提示
使用门户或每次只能创建一个单一数据库的 PowerShell cmdlet 在弹性池中创建多个数据库可能需要一段时间。 若要自动创建到弹性池中,请参阅 CreateOrUpdateElasticPoolAndPopulate。
Azure CLI
若要使用 Azure CLI 创建和管理 SQL 数据库弹性池,请使用下面的 Azure CLI SQL 数据库命令。 在 macOS、 Linux 或 Windows 上安装 CLI。
提示
有关 Azure CLI 示例脚本,请参阅使用 CLI 移动 SQL 弹性池中 SQL 数据库中的数据库和使用 Azure CLI 缩放 Azure SQL 数据库中的 SQL 弹性池。
Cmdlet | 说明 |
---|---|
az sql elastic-pool create | 创建弹性池。 |
az sql elastic-pool list | 返回服务器中弹性池的列表。 |
az sql elastic-pool list-dbs | 返回弹性池中数据库的列表。 |
az sql elastic-pool list-editions | 还包括可用的池 DTU 设置、存储限制和每数据库设置。 为了降低冗长,默认情况下会隐藏附加的存储限制以及每数据库设置。 |
az sql elastic-pool update | 更新弹性池。 |
az sql elastic-pool delete | 删除弹性池。 |
Transact-SQL (T-SQL)
若要使用 Transact-SQL 在现有弹性池内创建和移动数据库或者返回有关 SQL 数据库弹性池的信息,请使用以下 T-SQL 命令。 可以使用 Azure 门户、SQL Server Management Studio、Visual Studio Code 或可以连接到服务器并传递 Transact-SQL 命令的任何其他程序来发出这些命令。 若要使用 T-SQL 创建和管理防火墙规则,请参阅使用 Transact-SQL 管理防火墙规则。
重要
无法使用 Transact-SQL 创建、更新或删除 Azure SQL 数据库弹性池。 可以在弹性池中添加或删除数据库,并且可以使用 DMV 返回有关现有弹性池的信息。
命令 | 说明 |
---|---|
CREATE DATABASE(Azure SQL 数据库) | 在现有池中创建新数据库或将其创建为单一数据库。 必须连接到 master 数据库,才能新建数据库。 |
ALTER DATABASE(Azure SQL 数据库) | 将数据库移入、移出弹性池或在其之间移动。 |
DROP DATABASE (Transact-SQL) | 删除数据库。 |
sys.elastic_pool_resource_stats(Azure SQL 数据库) | 返回服务器中所有弹性池的资源使用率统计信息。 对于每个弹性池,报告窗口每 15 秒就会提供一行(每分钟四行)。 这包括池中所有数据库的 CPU、IO、日志和存储消耗以及并发的请求/会话利用率。 |
sys.dm_elastic_pool_resource_stats(Azure SQL 数据库) | 返回包含 Azure SQL 数据库逻辑服务器上当前数据库的弹性池的资源使用情况统计信息。 这包括池的 CPU、数据 IO、日志 IO 和存储消耗以及并发的请求/会话利用率。 此数据保留大约 40 分钟。 |
sys.database_service_objectives(Azure SQL 数据库) | 返回 Azure SQL 数据库或 Azure Synapse Analytics 中数据库的版本(服务层级)、服务目标(定价层)和弹性池名称(若有)。 如果登录到服务器中的 master 数据库,则将返回有关所有数据库的信息。 对于 Azure Synapse Analytics,必须连接到 master 数据库。 |
REST API
若要创建和管理 SQL 数据库弹性池和共用数据库,请使用这些 REST API 请求。
命令 | 说明 |
---|---|
弹性池 - 创建或更新 | 创建新弹性池或更新现有的弹性池。 |
弹性池 - 删除 | 删除弹性池。 |
弹性池 - 获取 | 获取弹性池。 |
弹性池 - 按服务器列出 | 返回服务器中弹性池的列表。 |
弹性池 - 更新 | 更新现有的弹性池。 |
弹性池活动 | 返回弹性池活动。 |
弹性池数据库活动 | 返回弹性池内数据库上的活动。 |
数据库 - 创建或更新 | 创建新数据库或更新现有数据库。 |
数据库 - 获取 | 获取数据库。 |
数据库 - 按弹性池列出 | 返回弹性池中数据库的列表。 |
数据库 - 按服务器列出 | 返回服务器中的数据库列表。 |
数据库 - 更新 | 更新现有的数据库。 |