Hyperscale データベースを管理する方法
[アーティクル] 02/19/2025
15 人の共同作成者
フィードバック
この記事の内容
適用対象: Azure SQL データベース
Hyperscale サービス レベル は、高い拡張性のストレージとコンピューティング パフォーマンスのレベルであり、Azure のアーキテクチャを利用して、General Purpose と Business Critical のサービス レベルの制限を大きく超えて、Azure SQL Database 用のストレージとコンピューティング リソースをスケールアウトします。
この記事では、Hyperscale データベースの重要な管理タスク (既存のデータベースから Hyperscale への変換、Hyperscale データベースを別のリージョンへの復元、Hyperscale から別のサービス レベルへの逆移行、Hyperscale データベースに対する進行中および最近の操作の状態の監視など) を実行するための重要なガイドにリンクしています。
新しい Hyperscale データベースを作成する方法については、「クイックスタート: Azure SQL Database で Hyperscale データベースを作成する 」をご覧ください。
Hyperscale データベースの操作を監視する
Azure portal、Azure CLI、PowerShell、または Transact-SQL を使って、Azure SQL Database の進行中の操作または最近完了した操作の状態を監視できます。
操作を監視する方法のタブを選んでください。
移行、逆移行、復元などの操作が進行していると、Azure SQL Database のデータベースに関する通知が Azure portal に表示されます。
Azure portal でデータベースに移動します。
左側のナビゲーション バーで、[概要] を選択します。
右側のペインの下部にある [通知] セクションを確認します。 操作が進行中の場合は、通知ボックスが表示されます。
通知ボックスを選んで詳細を表示します。
[実行中の操作] ペインが開きます。 進行中の操作の詳細を確認します。
このコード サンプルでは、az sql db op list を呼び出して、Azure SQL Database のデータベースの最近または進行中の操作を返します。
次のコード サンプルの resourceGroupName
、serverName
、databaseName
、serviceObjective
を適切な値に置き換えてから実行します。
resourceGroupName="myResourceGroup"
serverName="server01"
databaseName="mySampleDatabase"
az sql db op list -g $resourceGroupName -s $serverName --database $databaseName
Get-AzSqlDatabaseActivity コマンドレットからは、Azure SQL Database のデータベースの最近または進行中の操作が返されます。
$resourceGroupName
、$serverName
、$databaseName
パラメーターをデータベースの適切な値に設定してから、サンプル コードを実行します。
$resourceGroupName = "myResourceGroup"
$serverName = "server01"
$databaseName = "mySampleDatabase"
Get-AzSqlDatabaseActivity -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName
Hyperscale データベースの操作を監視するには、最初に、master
、Azure Data Studio 、または Transact-SQL コマンドを実行するために選んだ任意のクライアントを使って、論理サーバー の データベースに接続する必要があります。
[論理サーバー](logical-servers.md)のデータベースで最近実行された操作に関する情報を確認するには、sys.dm_operation_status 動的管理ビューのクエリを実行します。
このコード サンプルからは、指定したデータベースに対する sys.dm_operation_status
のすべてのエントリが、操作の開始が新しいものから順に並べ替えられて返されます。 コード サンプルを実行する前に、データベース名を適切な値に置き換えてください。
SELECT *
FROM sys.dm_operation_status
WHERE major_resource_id = 'mySampleDatabase'
ORDER BY start_time DESC;
GO
Hyperscale サービス レベルのデータベースを表示する
データベースを Hyperscale に移行した後、または Hyperscale サービス レベルでデータベースを再構成した後、Hyperscale データベースの構成を表示または文書化することができます。
Azure portal には、論理サーバー 上のすべてのデータベースの一覧が表示されます。
[価格レベル] 列に、各データベースのサービス レベルが含まれます。
Azure portal でお使いの論理サーバー に移動します。
左側のナビゲーション バーで、[概要] を選択します。
ペインの下部にあるリソースの一覧までスクロールします。 ウィンドウに論理サーバー上の SQL エラスティック プールとデータベースが表示されます。
[価格レベル] 列を見て、Hyperscale サービス レベルのデータベースを確認します。
この Azure CLI コード サンプルは、az sql db list を呼び出して、論理サーバー 上の Hyperscale データベースの名前、場所、サービス レベル目標、最大サイズ、高可用性レプリカの数の一覧を表示します。
次のコード サンプルの resourceGroupName
と serverName
を適切な値に置き換えてから実行します。
resourceGroupName="myResourceGroup"
serverName="server01"
az sql db list -g $resourceGroupName -s $serverName --query "[].{Name:name, Location:location, SLO:currentServiceObjectiveName, Tier:currentSku.tier, maxSizeBytes:maxSizeBytes,HAreplicas:highAvailabilityReplicaCount}[?Tier=='Hyperscale']" --output table
Azure PowerShell の Get-AzSqlDatabase コマンドレットからは、論理サーバー 上の Hyperscale データベースの名前、場所、サービス レベル目標、最大サイズ、高可用性レプリカの数の一覧が返されます。
$resourceGroupName
および $serverName
パラメーターを適切な値に設定してから、サンプル コードを実行します。
$resourceGroupName = "myResourceGroup"
$serverName = "server01"
Get-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName | `
Where-Object { $_.Edition -eq 'Hyperscale' } | `
Select-Object DatabaseName, Location, currentServiceObjectiveName, Edition, `
MaxSizeBytes, HighAvailabilityReplicaCount | `
Format-Table
Edition 列を見て、Hyperscale サービス レベルのデータベースを確認します。
Transact-SQL を使用して論理サーバー 上のすべての Hyperscale データベースのサービス レベルを確認するには、まず、master
または Azure Data Studio を使って データベースに接続します。
Hyperscale サービス レベルのデータベースを確認するには、sys.database_service_objectives システム カタログ ビューのクエリを実行します。
SELECT d.name, dso.edition, dso.service_objective
FROM sys.database_service_objectives AS dso
JOIN sys.databases as d on dso.database_id = d.database_id
WHERE dso.edition = 'Hyperscale';
GO
データベースを Hyperscale に変換する
Azure portal、Azure CLI、PowerShell、または Transact-SQL を使用して、Azure SQL Database の既存のデータベースを Hyperscale に変換できます。
変換プロセスは、既存のデータベースがオンラインのときに発生するデータの変換と、新しい Hyperscale データベースへのカットオーバーという 2 つのフェーズに分けられます。 データベースの準備ができたらすぐに、または選択した時点で手動で、カットオーバーが発生するタイミングを選択できます。
詳細と手順については、「既存のデータベースを Hyperscale に変換する」を参照してください。
Hyperscale から逆に移行する
General Purpose サービス レベルへの逆移行により、最近 Azure SQL Database の既存のデータベースを Hyperscale に変換したお客様は、Hyperscale がニーズを満たさない場合に、緊急時に戻ることができます。 逆移行はサービス レベルの変更によって開始されますが、基本的には異なるアーキテクチャ間でデータのサイズが移動されます。
詳細と手順については、「Hyperscale からデータベースを逆に移行する」を参照してください。
関連するコンテンツ