Azure SQL Database でのエラスティック プールの管理

適用対象:Azure SQL Database

エラスティック プールを使用する場合、データベースのワークロードを処理するためにエラスティック プールに必要なリソースのサイズと、プールされた各データベースのリソースのサイズを決定します。

Azure portal

すべてのプール設定は、[プールの構成]ウィンドウという 1 つの場所にあります。 これを表示するには、Azure portal でエラスティック プールを検索し、[概要] ページ メニューまたは [設定] の下のリソース メニューから [構成] を選択します。

このブレードから、以下のような変更を任意に組み合わせて行い、そららの変更すべてを 1 回にまとめて保存できます。

  • プールのサービス レベルを変更する。
  • パフォーマンス (DTU または vCores) およびストレージをスケール アップまたはスケール ダウンする。
  • プールに対してデータベースを追加または削除する。
  • プール内のデータベースの最小 (保証される) および最大のパフォーマンスを設定する。
  • 新しい選択の結果としての請求書への変更を表示するコストの概要を確認する。

PowerShell

注意

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

重要

PowerShell Azure Resource Manager モジュールは Azure SQL Database で引き続きサポートされますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。 これらのコマンドレットについては、「AzureRM.Sql」を参照してください。 Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。

Azure PowerShell を使用して SQL Database エラスティック プールとプールされたデータベースを作成および管理するには、次の PowerShell コマンドレットを使用します。 PowerShell をインストールまたはアップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 エラスティック プールのサーバーを作成および管理する方法については、サーバーの作成と管理に関する記事を参照してください。 ファイアウォール ルールを作成および管理する方法については、PowerShell を使用したファイアウォール ルールの作成と管理に関する記事を参照してください。

コマンドレット 説明
New-AzSqlElasticPool エラスティック プールを作成します。
Get-AzSqlElasticPool エラスティック プールとそのプロパティ値を取得します。
Set-AzSqlElasticPool エラスティック プールのプロパティを変更します。たとえば、StorageMB プロパティを使用して、エラスティック プールの最大容量を変更します。
Remove-AzSqlElasticPool エラスティック プールを削除します。
Get-AzSqlElasticPoolActivity エラスティック プールに対する操作の状態を取得します。
Stop-AzSqlElasticPoolActivity エラスティック プールでの非同期更新操作を取り消します。
New-AzSqlDatabase 新しいデータベースを既存のプール内に、または単一のデータベースとして作成します。
Get-AzSqlDatabase 1 つまたは複数のデータベースを取得します。
Set-AzSqlDatabase データベースのプロパティを設定するか、または既存のデータベースをエラスティック プール内に、エラスティックから外に、またはエラスティック間で移動します。
Remove-AzSqlDatabase データベースを削除します。

ヒント

ポータルまたは PowerShell コマンドレットで一度に作成できるデータベースは 1 つのみであるため、エラスティック プールに多数のデータベースを作成しようとすると時間がかかることがあります。 エラスティック プールへの作成を自動化するには、「CreateOrUpdateElasticPoolAndPopulate」を参照してください。

Azure CLI

Azure CLI を使用して SQL Database エラスティック プールを作成および管理するには、次の Azure CLI SQL Database コマンドを使用します。 Cloud Shell を使用して Azure CLI をブラウザーで実行することも、macOS、Linux、または Windows にインストールすることもできます。

ヒント

Azure CLI のサンプル スクリプトについては、CLI を使用した SQL エラスティック プールへの SQL Database 内のデータベースの移動に関する記事、およびAzure CLI を使用した Azure SQL Database 内の SQL エラスティック プールのスケーリングに関する記事を参照してください。

コマンドレット 説明
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 Database エラスティック プールに関する情報を返すには、次の T-SQL コマンドを使用します。 これらのコマンドは、Azure portal、SQL Server Management StudioVisual Studio Code、またはサーバーに接続して Transact-SQL コマンドを渡すことができるその他のプログラムを使用して実行できます。 T-SQL を使用してファイアウォール ルールを作成および管理する方法については、Transact-SQL を使用したファイアウォール ルールの管理に関する記事を参照してください。

重要

Transact-SQL を使用して Azure SQL Database エラスティック プールを作成、更新、または削除するすることはできません。 データベースをエラスティック プールに追加または削除したり、DMV を使用して既存のエラスティック プールに関する情報を返したりすることができます。

コマンド 説明
CREATE DATABASE (Azure SQL Database) 新しいデータベースを既存のプール内に、または単一のデータベースとして作成します。 新しいデータベースを作成するには、master データベースに接続している必要があります。
ALTER DATABASE (Azure SQL Database) データベースをエラスティック プール内に、エラスティックから外に、またはエラスティック間で移動します。
DROP DATABASE (Transact-SQL) データベースを削除します。
sys.elastic_pool_resource_stats (Azure SQL Database) サーバー上のすべてのエラスティック プールのリソース使用状況の統計を返します。 各エラスティック プールのレポート間隔は、15 秒に 1 行 (1 分あたり 4 行) です。 これには、プール内のすべてのデータベースごとの CPU、I/O、ログ、ストレージ消費、および同時実行要求/セッション使用率が含まれます。
sys.dm_elastic_pool_resource_stats (Azure SQL Database) Azure SQL Database 論理サーバー上の現在のデータベースを含むエラスティック プールのリソース使用状況の統計情報を返します。 これには、プールの CPU、データ I/O、ログ I/O、ストレージ消費、および同時実行要求/セッション使用率が含まれます。 このデータは約 40 分間保持されます。
sys.database_service_objectives (Azure SQL Database) Azure SQL Database または Azure Synapse Analytics 内のデータベースのエディション (サービス レベル)、サービス目標 (価格レベル)、およびエラスティック プール名 (存在する場合) を返します。 サーバー内の master データベースにログオンしている場合は、すべてのデータベースの情報が返されます。 Azure Synapse Analytics の場合は、master データベースに接続する必要があります。

REST API

SQL Database エラスティック プールとプールされたデータベースを作成して管理するには、これらの REST API 要求を使用します。

コマンド 説明
エラスティック プール - 作成または更新 新しいエラスティック プールを作成するか、既存のエラスティック プールを更新します。
エラスティック プール - 削除 エラスティック プールを削除します。
エラスティック プール - 取得 エラスティック プールを取得します。
エラスティック プール - サーバーごとの一覧取得 サーバー内のエラスティック プールの一覧を返します。
エラスティック プール - 更新 既存のエラスティック プールを更新します。
エラスティック プールのアクティビティ エラスティック プールのアクティビティを返します。
エラスティック プール データベースのアクティビティ エラスティック プール内のデータベースのアクティビティを返します。
データベース - 作成または更新 新しいデータベースを作成するか、既存のデータベースを更新します。
データベース - 取得 データベースを取得します。
データベース - エラスティック プールごとの一覧取得 エラスティック プール内のデータベースの一覧を返します。
データベース - サーバーごとの一覧取得 サーバー内のデータベースの一覧を返します。
データベース - 更新 既存のデータベースを更新します。