Azure SQL Database をバックアップする
あなたが働く小売組織では Azure SQL Database を使用し、エンタープライズ リソース プランニング (ERP) システムのリレーショナル データを格納しています。 その会社では、すべての会計、顧客関係の管理、販売管理、コーポレート ガバナンスの手続きにこのシステムを使用しています。 組織がこのデータを失うのを防ぐことができれば、ビジネスが莫大な損失を被る可能性や、場合によっては業務を停止せざるを得なくなることを防ぐことができます。
役員会では、このデータの保護をあなたに担当させることにしました。 あなたは、障害が発生した場合、3 時間以内にすべてのデータを障害時点まで確実に復元できるようにしたいと考えています。
ここでは、Azure SQL Database のバックアップと、それらを効果的に使用する方法について学習します。
Azure SQL Database バックアップ用のストレージ
Azure SQL Database はデータベースのバックアップを自動的に作成し、7 日から 35 日間保存します。 保有期間は、購入モデルと、データベースの作成時に選択するサービス レベルによって異なります。 バックアップが完了すると、SQL Database は、Azure サブスクリプションの読み取りアクセス geo 冗長ストレージ (RA-GRS) アカウントに BLOB として格納します。 SQL Database は、RA-GRS アカウントをペア リージョンにレプリケートし、どこかのリージョンで発生したサービスの問題から保護します。
Azure SQL Database では、SQL Server テクノロジを使用して、次の種類のバックアップが作成されます。
- 完全バックアップ: 完全バックアップの場合、SQL Database はデータベース内のすべてとトランザクション ログをバックアップします。 SQL Database では、週に 1 回完全バックアップが作成されます。
- 差分バックアップ: 差分バックアップの場合、SQL Database は最後の完全バックアップ以降に変更されたすべてをバックアップします。 SQL Database では、12 時間ごとに差分バックアップが作成されます。
- トランザクション バックアップ: トランザクション バックアップの場合、SQL Database はトランザクション ログの内容をバックアップします。 最新のトランザクション ログが失敗したか破損した場合は、前のトランザクション ログ バックアップにフォールバックすることをお勧めします。データ保持期間は、こちらの「Azure SQL Database の自動バックアップ」のガイドラインに従っていることを前提としています。 トランザクション バックアップを使用すると、管理者は、データが誤って削除された時点など、特定の時点に復元できます。
これらのバックアップを使用して、次のことを行うことができます。
- 既存のデータベースの新しいコピーを復元します。
- 削除されたデータベースを、削除された時点まで復元します。
- データベースを別の場所またはリージョンに復元する。
- 長期保有期間 (LTR) を使用して、長期バックアップからデータベースを復元する。 Azure SQL Database に対して LTR を有効にできます。
まれですが、ストレージ全体の障害が発生すると、ライブ トランザクション ログが失われた場合に、最大 5 分前からの変更が失われる可能性があります。 トランザクション ログが破損していない場合は、障害が発生した時点まで復元できます。
バックアップとサービス レベル
データベースの作成時、バックアップの既定のリテンション期間は 7 日間です。 この後、その期間を、0 から 35 日までの期間に変更することができます。 データ トランザクション ユニット (DTU) に基づく購入モデルを使ってデータベースを作成する場合、そのデータベースの既定の保有期間はサービス レベルによって異なります。
サービス レベル | 既定のリテンション期間 |
---|---|
Basic | 1 週間 |
Standard | 5 週間 |
Premium | 5 週間 |
バックアップはどのくらいの頻度で行われますか?
ポイントインタイム リストア用のバックアップと、長期保有 (LTR) 用のバックアップがあります。
SQL データベースでは、ポイントインタイム リストアが完全にサポートされています。 完全バックアップ、差分バックアップ、トランザクション ログ バックアップは自動的に作成されます。 データベースを作成するとすぐに、Azure SQL Database サービスによって最初の完全バックアップがスケジュールされます。 通常は 30 分以内に終了しますが、データベースのサイズが大きい場合はそれ以上かかることがあります。
最初の完全バックアップの後、SQL Database サービスは以降のすべてのバックアップを自動的にスケジュールし、メッセージを表示せずにバックグラウンドで管理します。 すべてのデータベース バックアップの正確なタイミングはサービスによって決定されます。これは、全体的なシステム ワークロードのバランスを取るためです。 バックアップ ジョブを変更したり、無効にしたりすることはできません。
SQL Database サービスは、LTR の完全バックアップを Azure Blob Storage アカウントに最長 10 年間格納します。 週 1 回の完全バックアップを自動的に実行するように LTR ポリシーを構成することができます。 LTR バックアップ ストレージは、選択した頻度と保有期間によって異なります。
ストレージ コスト
Microsoft では、Azure データ バックアップのコストを簡単に追跡できる予測可能な価格システムで、包括的なバックアップを作成する Azure Backup サービスを提供しています。 Azure SQL Database のバックアップ料金は、毎月のインスタンス コスト (保護されるデータ) とストレージ コストの両方の支払いに基づきます。
既定では、Azure Backup は、自動データベース バックアップの 7 日分を RA-GRS 標準 BLOB ストレージにコピーします。 Azure では、毎週の完全バックアップ、毎日の差分バックアップ、5 分ごとにコピーするトランザクション ログ バックアップにこのストレージを使用します。 トランザクション ログのサイズは、データベースの変化率によって異なります。
Azure バックアップでは、データベース サイズの 100% に等しい最小ストレージ量が追加料金なしで提供されます。 バックアップ ストレージの追加使用分については、月ごとにギガバイト単位で請求されます。
Azure SQL Database のバックアップを使用する利点
Azure Backup には次の利点があります。
- 初期費用と運用コストが最小限に抑えられるため、インフラストラクチャ コストを削減できます。
- さまざまな機能を使ってデータをバックアップし、セキュリティで保護し、データベースとは別の場所に格納できます。
- プライマリ Azure データセンター内の 3 つの異なる場所に、データの 3 つのコピーを格納できます。 別のリモート Azure データセンターに、別の 3 つのコピーを格納することができます。 このように配置することで、最も重大な障害を除くすべての障害から保護することができます。
- データは、転送中でも、Azure バックアップ コンテナーに保持されている場合でも、ソース データベースから移動される前に暗号化されます。