Azure Synapse Analytics の専用 SQL プールをバックアップして復元する

この記事では、Azure Synapse の専用 SQL プールにおけるバックアップと復元の使用方法について説明します。

データ ウェアハウスをプライマリ リージョンの以前の状態に復旧またはコピーするには、専用 SQL プールの復元ポイントを使用します。 異なる地理的リージョンに復元するには、データ ウェアハウスの geo 冗長バックアップを使用します。

Note

Azure Synapse ワークスペース内の専用 SQL プールのすべての機能が専用の SQL プール (以前の SQL DW) に適用されるわけではなく、その逆も同様です。 既存の専用 SQL プール (以前の SQL DW) のワークスペース機能を有効にするには、専用の SQL プール (以前の SQL DW) 用のワークスペースを有効にする方法に関するページを参照してください。 詳細については、Azure Synapse Analytics ワークスペースでの Azure Synapse 専用 SQL プール (旧称 SQL DW) と専用 SQL プールとの相違点に関するページを参照してください。

データ ウェアハウスのスナップショットとは

"データ ウェアハウスのスナップショット" では、データ ウェアハウスの以前の状態を復旧またはコピーするために利用できる復元ポイントが作成されます。 専用 SQL プールは分散システムなので、データ ウェアハウスのスナップショットは Azure Storage に配置されている多くのファイルで構成されます。 スナップショットでは、データ ウェアハウスに格納されたデータの増分の変更がキャプチャされます。

Note

専用 SQL プールの目標復旧時間 (RTO) のレートは異なる場合があります。 復旧 (復元) 時間に影響を与える可能性のある要因は次のとおりです。

  • データベースのサイズ
  • ソースおよびターゲットのデータ ウェアハウスの場所 (つまり、geo 復元)
  • データ ウェアハウス スナップショットを別のファイルとしてエクスポートすることはできません (たとえば、Azure Storage、オンプレミス環境の場合)

"データ ウェアハウスの復元" とは、既存または削除済みのデータ ウェアハウスの復元ポイントから作成された新しいデータ ウェアハウスのことです。 偶発的な破損や削除が起きた後にデータを再作成するデータウェアハウスの復元は、ビジネス継続性およびディザスター リカバリー戦略の最も重要な部分です。 データ ウェアハウス スナップショットは、テストまたは開発用にデータ ウェアハウスのコピーを作成する強力なメカニズムでもあります。

注意

専用 SQL プールの目標復旧時間 (RTO) のレートは異なる場合があります。 復旧 (復元) 時間に影響を与える可能性のある要因は次のとおりです。

  • データベースのサイズ
  • ソースおよびターゲットのデータ ウェアハウスの場所 (つまり、geo 復元)

自動復元ポイント

スナップショットは、復元ポイントを作成する組み込み機能です。 この機能を有効にする必要はありません。 ただし、復元ポイントを作成するには、専用 SQL プールがアクティブ状態である必要があります。 頻繁に一時停止すると、自動復元ポイントが作成されない可能性があるため、専用 SQL プールを一時停止する前にユーザー定義の復元ポイントを作成するようにしてください。 サービスは自動復元ポイントを使用して復旧の SLA を維持するので、現時点では、ユーザーはこれらの復元ポイントを削除できません。

データ ウェアハウスのスナップショットは 1 日を通して取得され、7 日間利用できる復元ポイントが作成されます。 この保持期間は変更できません。 専用 SQL プールでは、8 時間の RPO (回復ポイントの目標) がサポートされています。 プライマリ リージョンのデータ ウェアハウスを、過去 7 日間に作成されたいずれかのスナップショットから復元することができます。

最新のスナップショットが開始された時間を表示するには、オンラインの専用 SQL プールでこのクエリを実行します。

SELECT TOP 1 *
FROM sys.pdw_loader_backup_runs
ORDER BY run_id desc;

Note

8 時間の SLA を満たすため、バックアップは 4 時間ごとに実行されます。 そのため、sys.pdw_loader_backup_runs 動的管理ビューには、4 時間ごとにバックアップ アクティビティが表示されます。

ユーザー定義の復元ポイント

ユーザーは、この機能を使用して、大規模な変更の前後に、スナップショットを手動でトリガーしてデータ ウェアハウスの復元ポイントを作成できます。 この機能により、復元ポイントの論理的な一貫性が保証され、ワークロードの中断やユーザー エラーが発生して迅速に復旧する必要がある場合に、追加のデータ保護が提供されます。 ユーザー定義の復元ポイントは、7 日間使用でき、自動的に削除されます。 ユーザー定義の復元ポイントの保持期間を変更することはできません。 任意の時点で 42 個のユーザー定義の復元ポイントが保証されているため、別の復元ポイントを作成する前に削除する必要があります。 スナップショットをトリガーして、Azure portal を使用するか、PowerShell または REST API のみを使用してプログラムでユーザー定義の復元ポイントを作成できます。

Note

7 日より長い復元ポイントが必要な場合は、この機能に投票してください。

Note

T-SQL スクリプトを使用してオンデマンドでバックアップを作成することはできません。 Azure portal を使用するか、PowerShell または REST API を使用してプログラムでユーザー定義の復元ポイントを作成できます。

長期バックアップ (LTR) のコンセプトを模索している場合は、次のようにします。

  1. 新しいユーザー定義の復元ポイントを作成することも、自動生成された復元ポイントのいずれかを使用することもできます。
  2. 新しく作成された復元ポイントから新しいデータ ウェアハウスに復元します。
  3. 復元した後、専用 SQL プールがオンラインになります。 コンピューティング コストを節約するために、無期限に一時停止します。 一時停止したデータベースについては、Azure Synapse レートでストレージに対して課金されます。

復元されたデータ ウェアハウスのアクティブなコピーが必要な場合は、わずか数分で再開できます。

ユーザー定義の復元ポイントの作成

新しいユーザー定義の復元ポイントをプログラムで作成できます。 スタンドアロンの専用 SQL プール (以前の SQL DW) または Synapse ワークスペース内の専用 SQL プールのいずれかを使用している SQL プールに基づいて正しい方法を選択します。

Azure PowerShell

REST API

ユーザー定義の復元ポイントの削除

特定のユーザー定義の復元ポイントをプログラムで削除できます。 スタンドアロンの専用 SQL プール (以前の SQL DW) または Synapse ワークスペース内の専用 SQL プールのいずれかを使用している SQL プールに基づいて正しい方法を選択します。

Azure PowerShell

REST API

復元ポイントのリテンション期間

復元ポイントのリテンション期間の詳細は次のとおりです。

  1. 専用 SQL プールは、7 日間の保有期間に達したとき、復元ポイントの合計数が少なくとも 42 個ある場合 (ユーザー定義と自動の両方を含む) に、復元ポイントを削除します。
  2. 専用 SQL プールが一時停止しているときはスナップショットは取得されません。
  3. 復元ポイントの経過時間は、復元ポイントが取得された時点 (SQL プールが一時停止された時点を含む) からのカレンダーの絶対日数によって測定されます。
  4. 任意の時点で、復元ポイントが 7 日間の保有期間に達していない限り、専用 SQL プールは最大 42 個のユーザー定義の復元ポイントまたは 42 個の自動復元ポイントを格納できることが保証されています
  5. スナップショットが取得され、専用 SQL プールが 7 日間を超えて一時停止されてから再開した場合、復元ポイントの数が合計で 42 になるまで (ユーザー定義と自動の両方を含む)、復元ポイントが維持されます。

SQL プールが停止しているときのスナップショットのリテンション期間

専用 SQL プールを削除すると、最後のスナップショットが作成され、7 日間保存されます。 専用 SQL プールは、削除するときに作成された最後の復元ポイントに復元できます。 専用 SQL プールが一時停止状態で削除された場合、スナップショットは作成されません。 そのシナリオでは、専用 SQL プールを削除する前に、必ずユーザー定義の復元ポイントを作成してください。

geo バックアップとディザスター リカバリー

ペアのデータ センターには、1 日に 1 回、geo バックアップが作成されます。 geo 復元の RPO は 24 時間です。 geo 復元は常にデータ移動操作であり、RTO はデータのサイズに依存します。 最新の geo バックアップのみが保持されます。 geo バックアップは、専用 SQL プールがサポートされているその他の任意のリージョン内のサーバーに復元することができます。 geo バックアップにより、プライマリ リージョンの復元ポイントにアクセスできない場合でも、データ ウェアハウスを復元できます。

専用 SQL プールの geo バックアップが不要な場合は、それを無効にして、ディザスター リカバリー ストレージのコストを節約できます。 これを行うには、方法ガイド:専用 SQL プール (以前の SQL DW) の geo バックアップの無効化に関する記事を参照してください。 geo バックアップを無効にすると、プライマリ Azure データ センターが使用できなくなった場合に、ペアになっている Azure リージョンに専用 SQL プールを復旧できなくなります。

Note

geo バックアップ用にさらに短い RPO が必要な場合は、この機能に投票してください。 ユーザー定義の復元ポイントを作成し、新しく作成された復元ポイントを異なるリージョンの新しいデータ ウェアハウスに復元することもできます。 復元後、データ ウェアハウスはオンライン状態になり、コンピューティング コストを節約するために無期限に一時停止することもできます。 一時停止したデータベースについては、Azure Premium Storage レートでストレージに対して課金されます。 復旧ポイントの間隔を短くするためによく利用されるもう 1 つの方法は、データ ウェアハウスのプライマリおよびセカンダリ インスタンスに並列でデータを取り込むことです。 このシナリオでは、1 つまたは複数のソースから取り込んだデータが、データ ウェアハウスの 2 つの別個のインスタンス (プライマリとセカンダリ) に残ります。 ウェアハウスのセカンダリ インスタンスは、コンピューティング コストを節約するために一時停止できます。 データ ウェアハウスのアクティブなコピーが必要な場合は、わずか数分で再開できます。

データの保存場所

ペアになっているデータセンターがお住まいの国/リージョンの外にある場合は、ローカル冗長ストレージ (LRS) 上にデータベースをプロビジョニングすることで、使用するデータを、ご利用のリージョン内に確実にとどめておくことができます。 ご利用のデータベースが既に RA-GRS (読み取り専用の geo 冗長ストレージ: 現在の既定値) 上にプロビジョニングされている場合は、geo バックアップを無効にすることができますが、ご利用のデータベースは、リージョン ペアにレプリケートされたストレージ上に存在し続けます。 ご利用のリージョン内に顧客データが確実にとどまるようにするには、専用の SQL プールをローカル冗長ストレージにプロビジョニングまたは復元します。 ローカル冗長ストレージへのプロビジョニングまたは復元の方法の詳細については、Azure Synapse Analytics で専用 SQL プール (以前の SQL DW) の単一リージョンの所在地を構成するためのハウツーガイドに関するページを参照してください。

ペアになっているデータ センターが別の国/リージョンにあることを確認するには、「Azure でペアになっているリージョン」に関する記事を参照してください。

バックアップと復元のコスト

Azure の課金には、ストレージの明細項目とディザスター リカバリー ストレージの明細項目があることがわかります。 ストレージの料金は、プライマリ リージョンでのデータの格納と、スナップショットによってキャプチャされた増分変更のコストの合計です。 スナップショットの課金方法については、スナップショットの料金が発生するしくみを参照してください。 geo 冗長の料金には、geo バックアップを格納するコストが含まれます。

プライマリ データ ウェアハウスと 7 日間のスナップショット変更の総コストは、TB 単位で四捨五入されます。 たとえば、データ ウェアハウスが 1.5 TB で、スナップショットが 100 GB をキャプチャする場合、Azure Standard Storage の料金で 2 TB のデータが課金されます。

地理冗長ストレージを使用している場合は、個別のストレージ料金がかかります。 geo 冗長ストレージは、標準の読み取りアクセスの地理冗長ストレージ (RA-GRS) の料金で課金されます。

Azure Synapse の価格の詳細については、Azure Synapse の価格に関するページを参照してください。 複数のリージョンにまたがる復元の場合、データのエグレスには課金されません。

復元ポイントから復元する

各スナップショットでは、スナップショットの開始時刻を表す復元ポイントが作成されます。 データ ウェアハウスを復元するには、復元ポイントを選択して restore コマンドを実行します。

復元されたデータ ウェアハウスと現在のデータ ウェアハウスの両方を保持するか、いずれか 1 つを削除することができます。 現在のデータ ウェアハウスを、復元されたデータ ウェアハウスで置換する場合は、MODIFY NAME オプションを指定して ALTER DATABASE を使用し、名前を変更できます。

Note

テーブル レベルの復元は、専用 SQL プールではサポートされていません。 バックアップからデータベース全体を復旧することのみが可能です。その後、以下を使用して必要なテーブルをコピーします。

  • Copy アクティビティなどの ETL ツール アクティビティ
  • エクスポートとインポート
    • CETAS CETAS の例を使用して、復元されたバックアップから Data Lake にデータをエクスポートする
    • COPY または Polybase を使用してデータをインポートする

クロス サブスクリプションの復元

クロス サブスクリプションの復元を実行できます。

geo 冗長復元

選択したパフォーマンス レベルで、専用 SQL プールをサポートする任意のリージョンに専用 SQL プールを復元できます。

Note

geo 冗長復元を実行するには、この機能の使用を中止しないようにする必要があります。

サポートのプロセス

Azure portal で Azure Synapse Analytics のサポート チケットを送信できます。