Hyperscale データベースを管理する方法

適用対象:Azure SQL Database

Hyperscale サービス レベルは、高い拡張性のストレージとコンピューティング パフォーマンスのレベルであり、Azure のアーキテクチャを利用して、General Purpose と Business Critical のサービス レベルの制限を大きく超えて、Azure SQL Database 用のストレージとコンピューティング リソースをスケールアウトします。 この記事では、既存データベースの Hyperscale への移行、別のリージョンへの Hyperscale データベースの復元、Hyperscale から別のサービス レベルへの逆移行、Hyperscale データベースに対する進行中および最近の操作の状態の監視など、Hyperscale データベースに関する重要な管理タスクを実行する方法について説明します。

新しい Hyperscale データベースを作成する方法については、「クイックスタート: Azure SQL Database で Hyperscale データベースを作成する」をご覧ください。

ヒント

2023 年 12 月の SQL Database Hyperscale の簡略化された価格。 詳細については、Hyperscale の価格に関するブログを参照してください。

既存のデータベースを Hyperscale に移行する

Azure SQL Database の既存のデータベースを Hyperscale に移行するには、Azure portal、Azure CLI、PowerShell、または Transact-SQL を使用できます。

既存のデータベースを Hyperscale に移動するのに必要な時間は、データのコピーにかかる時間と、データのコピー中にソース データベースに加えられた変更を再生する時間で構成されます。 データのコピー時間は、データのサイズに比例します。 累積された変更を再生する時間が短くなるよう、書き込みアクティビティが少ない期間に Hyperscale に移行することをお勧めします。

Hyperscale サービス レベルへの最終的なカットオーバー中に発生するダウンタイムは、一般に数分という短い期間だけです。

前提条件

geo レプリケーションの一部であるデータベースを、プライマリまたはセカンダリとして Hyperscale に移動するには、最初にプライマリとセカンダリ レプリカの間のデータ レプリケーションを終了する必要があります。 フェールオーバー グループ内のデータベースは、最初にグループから削除する必要があります。

データベースを Hyperscale に移動したら、そのデータベース用の新しい Hyperscale geo レプリカを作成できます。

データベースを Hyperscale サービス レベルに移行する方法

Azure SQL Database の既存のデータベースを Hyperscale サービス レベルに移行するには、まずターゲット サービス目標を明らかにします。 データベースの適切なサービス目標がわからない場合は、単一データベースに対するリソース制限に関する記事をご覧ください。 多くの場合、元のデータベースと仮想コアの数が同じで、同じハードウェア世代のサービス目標を選択できます。 必要に応じて、最小限のダウンタイムでサービス目標を変更できます。

データベースの移行に使用するツールのタブを選んでください。

Azure portal を使用すると、データベースの価格レベルを変更することで、Hyperscale サービス レベルに移行できます。

Azure SQL Database のデータベースの [コンピューティングとストレージ] パネルのスクリーンショット。サービス レベルのドロップダウンが展開され、Hyperscale サービス レベルのオプションが表示されています。

  1. Azure portal で移行するデータベースに移動します。
  2. 左側のナビゲーション バーで、[コンピューティングとストレージ] を選びます。
  3. [サービス レベル] ドロップダウン リストを選択して、サービス レベルのオプションを展開します。
  4. ドロップダウン リスト メニューから [Hyperscale (On-demand scalable storage)](Hyperscale (オンデマンドのスケーラブルなストレージ)) を選択します。
  5. 一覧表示される [ハードウェア構成] を確認します。 必要に応じて、[構成の変更] を選んで、ワークロードに適したハードウェア構成を選びます。
  6. Hyperscale サービス レベルのデータベースで使用できる仮想コアの数を変更する場合は、[仮想コア] スライダーを選びます。
  7. Hyperscale サービス レベルのレプリカの数を変更する場合は、[High-AvailabilitySecondaryReplicas](高可用性セカンダリ レプリカ) スライダーを選びます。
  8. [適用] を選択します。

操作が進行している間、Hyperscale データベースに対する操作を監視できます。

Hyperscale から逆に移行する

General Purpose サービス レベルへの逆移行により、Azure SQL Database 内の既存のデータベースを Hyperscale サービス レベルに最近移行したお客様が、Hyperscale でニーズを満たせなかった場合、緊急時に元に戻すことができます。 逆移行はサービス レベルの変更によって開始されますが、基本的には異なるアーキテクチャ間でデータのサイズが移動されます。

逆移行に関する制限事項

逆移行は、次の条件で使用できます。

  • 逆移行は、Hyperscale への元の移行から 45 日間のみ使用できます。
  • Hyperscale サービス レベルで最初に作成されたデータベースは、逆移行の対象になりません。
  • General Purpose サービス レベルにのみ逆移行できます。 Hyperscale から General Purpose への移行では、サーバーレスまたはプロビジョニング済みのコンピューティング レベルをターゲットにできます。 データベースを別のサービス レベル (Business CriticalDTU ベースのサービス レベルなど) に移行する場合は、先に General Purpose サービス レベルに逆移行してから、サービス レベルを変更します。
  • 仮想コアが 2 つ未満のデータベースへの逆移行はサポートされていません。 移行が完了したら、データベースを 2 つ未満の仮想コアにスケールダウンできます。
  • エラスティック プールに対する直接の逆移行はサポートされていません。 Hyperscale 単一データベースのみを General Purpose 単一データベースに逆移行できます。
    • Hyperscale データベースが Hyperscale エラスティック プール (プレビュー) の一部である場合は、逆移行の前に最初に Hyperscale エラスティック プールからそれを削除する必要があります。
    • 逆移行が完了したら、必要に応じて General Purpose 単一データベースを General Purpose エラスティック プールに追加できます。
  • 逆移行の対象にならないデータベースの場合、Hyperscale から Hyperscale 以外のサービス レベルに移行する唯一の方法は、BACPAC ファイルまたはその他のデータ移動テクノロジ (一括コピー、Azure Data Factory、Azure Databricks、SSIS など) を使用してエクスポートおよびインポートすることです。Azure portal、PowerShell (New-AzSqlDatabaseExport と New-AzSqlDatabaseImport)、Azure CLI (az sql db export と az sql db import)、REST API から BACPAC のエクスポートとインポートを行うことはサポートされていません。 比較的小さい Hyperscale データベース (最大 150 GB) の BACPAC インポートと BACPAC エクスポートは、SSMS と SqlPackage バージョン 18.4 以降を使用することでサポートされます。 大きなデータベースについては、BACPAC のエクスポートやインポートは、長い時間がかかる場合や、さまざまな理由で失敗する可能性があります。

所要時間とダウンタイム

Hyperscale での通常のサービス レベル目標の変更操作とは異なり、Hyperscale への移行と General Purpose への逆移行はデータのサイズの操作です。

逆移行操作の所要時間は、主にデータベースのサイズと、移行中に発生する同時書き込みアクティビティによって異なります。 ターゲットの General Purpose データベースに割り当てる仮想コアの数も、逆移行の所要時間に影響します。 同様のワークロードを維持するため、ターゲットの General Purpose データベースには、ソースの Hyperscale データベースに割り当てられる仮想コアの数以上の数の仮想コアをプロビジョニングすることをお勧めします。

逆移行の間に、負荷が大きい場合、ソース Hyperscale データベースのパフォーマンスが低下する可能性があります。 具体的には、逆移行を確実に進行させるため、トランザクション ログの速度が落とされる (調整される) 可能性があります。

新しいターゲット General Purpose データベースへの最終的なカットオーバー中に発生するダウンタイムは、一般に数分という短い時間です。

前提条件

Hyperscale から General Purpose サービス レベルへの逆移行を始める前に、データベースが逆移行に関する制限と次のことを満たしていることを確認する必要があります。

  • データベースで geo レプリケーションが有効になっていない。
  • データベースに名前付きレプリカがない。
  • データベース (割り当てられたサイズ) が、ターゲットのサービス レベルに収まるほど小さい。
  • ターゲットの General Purpose データベースの最大データベース サイズを指定する場合は、データベースの割り当てサイズがその最大サイズに収まるほど小さいことを確認する。

逆移行操作が開始される前に、前提条件のチェックが行われます。 前提条件が満たされていない場合、逆移行操作はすぐに失敗します。

バックアップ ポリシー

構成された保持期間内のすべての既存のデータベース バックアップに対し、通常の価格を使用して課金されます。 Hyperscale バックアップ ストレージ スナップショットと、バックアップを復元できるようにするために保持する必要があるデータ サイズのストレージ BLOB に対して課金されます。

データベースの Hyperscale への移行と、General Purpose への逆以降は、何回でも行うことができます。 復元できるのは、データベースの現在のレベルと 1 回前のレベルからのバックアップのみです。 General Purpose サービス レベルから Hyperscale に移行し、General Purpose に戻した場合、現在の General Purpose データベースと直前の Hyperscale データベースからのバックアップのみを使用できます。 これらの保持されたバックアップは、Azure SQL Database の料金に従って課金されます。 以前に試したレベルのバックアップは利用できないため、課金されません。

たとえば、Hyperscale と Hyperscale 以外のサービス レベルの間で移行できます。

  1. General Purpose
  2. Hyperscale に移行
  3. General Purpose に逆移行
  4. Business Critical にサービス レベルを変更
  5. Hyperscale に移行
  6. General Purpose に逆移行

この場合、使用できるのはタイムラインのステップ 5 と 6 からのバックアップのみです (まだ構成されている保持期間内の場合)。 以前のステップのバックアップは使用できません。 Hyperscale と General Purpose サービス レベルの間で同じデータベースの移行を繰り返して試みる場合は、バックアップの可用性を慎重に検討してください。 直前のデータベースより古いデータベースのバックアップは、逆移行が開始されるとすぐに使用できなくなり、移行がキャンセルされた場合でも使用できないままになります。

Hyperscale データベースを General Purpose サービス レベルに逆移行する方法

Azure SQL Database の既存の Hyperscale データベースを General Purpose サービス レベルに逆移行するには、最初に General Purpose サービス レベルでのターゲット サービス目標と、プロビジョニング済みまたはサーバーレスのどちらのコンピューティング レベルに移行するかを明らかにします。 データベースの適切なサービス目標がわからない場合は、単一データベースに対するリソース制限に関する記事をご覧ください。

General Purpose への逆移行の後でさらにサービス レベルの変更を実行する場合は、最終的なターゲット サービスの目標を特定し、データベースの割り当てサイズがそのサービス目標に収まるほど小さいことを確認します。

データベースを逆移行する方法のタブを選んでください。

Azure portal を使用すると、データベースの価格レベルを変更することで、General Purpose サービス レベルに逆移行できます。

Azure SQL Database の Hyperscale データベースの [コンピューティングとストレージ] パネルのスクリーンショット。

  1. Azure portal で移行するデータベースに移動します。
  2. 左側のナビゲーション バーで、[コンピューティングとストレージ] を選びます。
  3. [サービス レベル] ドロップダウン リストを選択して、サービス レベルのオプションを展開します。
  4. ドロップダウン リスト メニューから [General Purpose (Scalable compute and storage options)](General Purpose (スケーラブルなコンピューティングとストレージのオプション)) を選びます。
  5. 一覧表示される [ハードウェア構成] を確認します。 必要に応じて、[構成の変更] を選んで、ワークロードに適したハードウェア構成を選びます。
  6. General Purpose サービス レベルのデータベースで使用できる仮想コアの数を変更する場合は、[仮想コア] スライダーを選びます。
  7. [適用] を選択します。

Hyperscale データベースの操作を監視する

Azure portal、Azure CLI、PowerShell、または Transact-SQL を使って、Azure SQL Database の進行中の操作または最近完了した操作の状態を監視できます。

操作を監視する方法のタブを選んでください。

移行、逆移行、復元などの操作が進行していると、Azure SQL Database のデータベースに関する通知が Azure portal に表示されます。

Azure SQL Database のデータベースの概要パネルのスクリーンショット。進行中の操作の通知が、パネルの下部の通知領域に表示されます。

  1. Azure portal でデータベースに移動します。
  2. 左側のナビゲーション バーで、[概要] を選択します。
  3. 右側のペインの下部にある [通知] セクションを確認します。 操作が進行中の場合は、通知ボックスが表示されます。
  4. 通知ボックスを選んで詳細を表示します。
  5. [実行中の操作] ペインが開きます。 進行中の操作の詳細を確認します。

Hyperscale サービス レベルのデータベースを表示する

データベースを Hyperscale に移行した後、または Hyperscale サービス レベルでデータベースを再構成した後、Hyperscale データベースの構成を表示または文書化することができます。

Azure portal には、論理サーバー上のすべてのデータベースの一覧が表示されます。 [価格レベル] 列に、各データベースのサービス レベルが含まれます。

Azure SQL データベース (パネルの下部にあるデータベース) の論理サーバーの概要パネルのスクリーンショット。

  1. Azure portal でお使いの論理サーバーに移動します。
  2. 左側のナビゲーション バーで、[概要] を選択します。
  3. ペインの下部にあるリソースの一覧までスクロールします。 ウィンドウに論理サーバー上の SQL エラスティック プールとデータベースが表示されます。
  4. [価格レベル] 列を見て、Hyperscale サービス レベルのデータベースを確認します。

Hyperscale データベースの詳細については、次の記事を参照してください。