クイックスタート: Azure PowerShell を使用して専用 SQL プール (以前の SQL DW) のコンピューティングをスケーリングする

Azure PowerShell を使用して、Azure Synapse ワークスペースで、Azure Synapse Analytics の 専用 SQL プール のコンピューティングをスケーリングすることができます。 コンピューティングをスケールアウトしてパフォーマンスを向上させます。または、コンピューティングをスケールバックしてコストを削減します。

Azure サブスクリプションをお持ちでない場合は、開始する前に無料の Azure アカウントを作成してください。

Note

この記事は、専用 SQL プール (旧称 SQL DW) または Azure Synapse に接続されたワークスペース内のものに適用されます。 このコンテンツは、Azure Synapse ワークスペースに作成された専用 SQL プールには適用されません。 使用する PowerShell コマンドレットはそれぞれ異なります。たとえば、専用 SQL プール (旧称 SQL DW) には Set-AzSqlDatabase を使用しますが、Azure Synapse ワークスペース内の専用 SQL プールには Update-AzSynapseSqlPool を使用します。 Azure Synapse Analytics ワークスペースの専用 SQL プールに関する同様の手順については、「クイックスタート: Azure PowerShell を使用して Azure Synapse ワークスペースの専用 SQL プールのコンピューティングをスケーリングする」を参照してください。 専用 SQL プール (以前の SQL DW) と Azure Synapse ワークスペースの専用 SQL プールの違いについて詳しくは、Azure Synapse (以前の SQL DW) と Azure Synapse Analytics ワークスペースの相違点に関する記事を参照してください。

始める前に

注意

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

このクイックスタートでは、専用 SQL プール (以前の SQL DW) が既にあることを前提としています。 作成する必要がある場合は、「作成と接続 - ポータル」に従って、mySampleDataWarehouse という名前の専用 SQL プール (以前の SQL DW) を作成します。

Azure へのサインイン

Connect-AzAccount コマンドで Azure サブスクリプションにサインインし、画面上の指示に従います。

Connect-AzAccount

使用しているサブスクリプションを確認するには、Get-AzSubscription を実行します。

Get-AzSubscription

既定ではない別のサブスクリプションを使用する必要がある場合は、Set-AzContext を実行します。

Set-AzContext -SubscriptionName "MySubscription"

データ ウェアハウスの情報を調べる

一時停止して再開する予定のデータ ウェアハウスのデータベース名、サーバー名、およびリソース グループを見つけます。

次の手順に従って、データ ウェアハウスの場所の情報を検索します。

  1. Azure portal にサインインします。

  2. Azure portal のメイン検索バーで [Azure Synapse Analytics (以前の SQL DW)] を選択します。

  3. [Azure Synapse Analytics (以前の SQL DW)] ページから mySampleDataWarehouse を選択してデータ ウェアハウスを開きます。 サーバー名とリソース グループが強調表示されている Azure portal のスクリーンショット。

  4. データ ウェアハウス名がデータベース名として使用されます。 データ ウェアハウスはデータベースの一種であることに注意してください。 サーバー名とリソース グループも記録してください。 このサーバー名とリソース グループ名は、一時停止コマンドと再開コマンドで使用します。

  5. PowerShell コマンドレットで使用するのは、サーバー名の最初の部分のみです。 前の図では、サーバーの完全な名前は sqlpoolservername.database.windows.net です。 PowerShell コマンドレットでは、サーバー名として sqlpoolservername を使用します。

たとえば、専用 SQL プール (以前の SQL DW) のプロパティと状態を取得するには、次のようにします。

Get-AzSqlDatabase -ResourceGroupName "resourcegroupname" -ServerName "sqlpoolservername" -DatabaseName "mySampleDataWarehouse"

特定のサーバーにあるすべてのデータ ウェアハウスとそれらの状態を取得するには、次のようにします。

Get-AzSqlDatabase -ResourceGroupName "resourcegroupname" -ServerName "sqlpoolservername"
$database | Select-Object DatabaseName,Status

コンピューティングのスケーリング

専用 SQL プール (以前の SQL DW) では、Data Warehouse ユニットを調整してコンピューティング リソースを増減させることができます。 「作成と接続 - ポータル」では、mySampleDataWarehouse を作成し、400 DWU で初期化しました。 次の手順では、mySampleDataWarehouse の DWU を調整します。

Data Warehouse ユニットを変更するには、Set-AzSqlDatabase PowerShell コマンドレットを使用します。 次の例では、サーバー sqlpoolservername 上のリソース グループ resourcegroupname においてホストされているデータベース mySampleDataWarehouse の Data Warehouse ユニットを DW300c に設定します。

Set-AzSqlDatabase -ResourceGroupName "resourcegroupname" -DatabaseName "mySampleDataWarehouse" -ServerName "sqlpoolservername" -RequestedServiceObjectiveName "DW300c"

スケーリング操作が完了すると、このコマンドレットにより、Get-AzSqlDatabase の出力と類似している、新しい状態を反映した出力が返されます。

ResourceGroupName                : resourcegroupname
ServerName                       : sqlpoolservername
DatabaseName                     : mySampleDataWarehouse
Location                         : North Europe
DatabaseId                       : 34d2ffb8-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Edition                          : DataWarehouse
CollationName                    : SQL_Latin1_General_CP1_CI_AS
CatalogCollation                 :
MaxSizeBytes                     : 263882790666240
Status                           : Online
CreationDate                     : 1/20/2023 9:18:12 PM
CurrentServiceObjectiveId        : 284f1aff-xxxx-xxxx-xxxx-xxxxxxxxxxxx
CurrentServiceObjectiveName      : DW300c
RequestedServiceObjectiveName    : DW300c
RequestedServiceObjectiveId      :
ElasticPoolName                  :
EarliestRestoreDate              :
Tags                             :
ResourceId                       : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/
                                resourceGroups/resourcegroupname/providers/Microsoft.Sql/servers/sqlpoolservername/databases/mySampleDataWarehouse
CreateMode                       :
ReadScale                        : Disabled
ZoneRedundant                    :
Capacity                         : 2700
Family                           :
SkuName                          : DataWarehouse
LicenseType                      :
AutoPauseDelayInMinutes          :
MinimumCapacity                  :
ReadReplicaCount                 :
HighAvailabilityReplicaCount     :
CurrentBackupStorageRedundancy   : Geo
RequestedBackupStorageRedundancy : Geo
SecondaryType                    :
MaintenanceConfigurationId       : /subscriptions/d8392f63-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default
EnableLedger                     : False
PreferredEnclaveType             :
PausedDate                       :
ResumedDate                      :

データ ウェアハウスの状態の確認

データ ウェアハウスの現在の状態を確認するには、Get-AzSqlDatabase PowerShell コマンドレットを使用します。 このコマンドレットを実行すると、リソース グループ resourcegroupname とサーバー sqlpoolservername.database.windows.net 内の mySampleDataWarehouse データベースの状態が表示されます。

$database = Get-AzSqlDatabase -ResourceGroupName "resourcegroupname" -ServerName "sqlpoolservername" -DatabaseName "mySampleDataWarehouse"
$database

出力には、データベースのStatusが表示されます。 このケースでは、データベースが Online であることが確認できます。 このコマンドを実行すると、Status 値として OnlinePausingResumingScaling、または Paused が表示されます。

状態のみを表示するには、次のコマンドを使用します。

$database | Select-Object DatabaseName, Status

次のステップ

ここでは、専用 SQL プール (以前の SQL DW) のコンピューティングをスケーリングする方法について学習しました。 専用 SQL プール (以前の SQL DW) に関する理解をさらに深めるために、データの読み込みに関するチュートリアルに進んでください。