.net column
.NET開発者のためのブログメディア

サーバーネットワーク

Azure SQL Databaseのバックアップとは?復元方法も紹介

2020年04月06日
SE
Azure SQL Databaseのバックアップと復旧ってどのように行うんですか?
PL
いくつか設定や注意点があるので、そこを抑えながら概要を見ていきましょう。

Azure SQL Databaseの自動バックアップ方法


Azure SQL Databaseにおいては、デフォルトの設定で自動的なバックアップジョブが稼働しています。データベースが作成された時点で、初回のバックアップから定期バックアップまですべてスケジューリングされているので、バックアップに関しては保有期間の設定を行うのみになります。

バックアップが実行される間隔は完全バックアップが1週間、差分バックアップが12時間、トランザクションログのバックアップは5~10分間隔で実行されるようです。バックアップの実行時間は30分以内で終了すると されていますが、データベースのサイズによってはそれ以上かかることもあります。

Azure SQL Databaseのバックアップにおける設定値の変更方法

自動バックアップに関する設定変更は、バックアップの保有期間の変更のみ明示されており、7日から35日の間で変更することができます(規定値は7日)。長期的な保持設定においては最長10年までバックアップが可能です。

変更方法は、Azure Portalを利用してサーバーの概要からナビゲーションメニューの [バックアップの管理] → [保有期間の構成]をクリックすることでサーバー単位でのバックアップの保有期間を変更できます。このほか、マネージドインスタンス(データベース全体)での変更や、PowerShell、Rest APIなどを利用して変更することも可能です。

Azure SQL Databaseのバックアップにおける注意点

Azure SQL Databaseのバックアップを行うにあたり、データベースが利用するデータ容量はバックアップと合算したものになります。そのため、多くのバックアップを保有すると、その分データ容量も多く必要になってしまいます。バックアップを行う時点で契約しているデータ容量を超えてしまった場合は、その分の追加料金が発生してしまうことがあるので注意しなければなりません。

Azure SQL Databaseのバックアップを利用してできること


Azure SQL Databaseのバックアップでは、自動的にバックアップが行われます。取得サイクルは完全バックアップなら毎週、差分バックアップなら数時間に1度、トランザクションログバックアップなら数分に1度となっており、取得タイミングもAzureによって決定されます。

Azure のバックアップからSQL Databaseを復元する方法4種と手順


Azure SQL Databaseのデータを復旧するには、Azure PortalやPowerShellなどを利用する方法があります。Azure Portalで行う場合は、データベース概要のページを開いてツールバーの[復元]を選択すると、バックアップリソースから復元ポイントを選べるようになるので、任意のバックアップから復元を実行できます。また、削除されたデータベースの復元もバックアップが残っていれば実行することが可能です。

1:ポイントインタイムリストアの特徴

ポイントインタイムリストアとは、同一のサーバー内に新規データベースとしてデータベースを復元するものです。保存期間に合わせてユーザー側が任意の時間に復元できます。主に不具合が発生した場合、データベースを過去にさかのぼって検証することができます。

PowerShellを使用した手順

PowerShellを使用する場合はAzure Cloud Shellを利用し、下記のようなスクリプトを使用します。

Azure portalを使用した手順

Azure portalのデータベースの概要ページのツールバーにある「復元」を選択します。さらにバックアップソースを選択し、新しく作成するデータベースのバックアップポイントを選択しましょう。

2:データベースコピーの特徴

データベースコピーとは、最新のデータベースをコピーするものです。任意の時点を指定することはできませんが、異なるサーバーやリージョンにコピーすることもできます。主に最新の本番データを検証用サーバーで使用するといった目的で利用されます。

PowerShellを使用した手順

PowerShellを使用する場合はNew-AzSqlDatabaseCopyコマンドレットを使用します。

Azure portalを使用した手順

Azure Portalを使ってデータベースコピーを行う場合は、データベースのページにある「コピー」をクリックしましょう。ただし、別のサブスクリプションへのデータベースコピーはサポートしていません。

3:削除されたデータベース復元の特徴

削除されたデータベースを同一サーバー上や同一マネージドインスタンス上に、削除時点やそれ以外の時点の状態で復元することができます。削除されたデータベース復元を行う場合は、バックアップから新しいデータベースの作成を行います。

PowerShellを使用した手順

PowerShellを使用する場合は、下記のようなスクリプトを使用します。

Azure portalを使用した手順

Azure portalのサーバー概要ページにある「削除済みデータベース」を選択し、復元したい削除済みデータベースを選択します。さらに、復元して新しく作成するデータベースの名前を入力しましょう。

4:geoリストアの特徴

geoリストアはgeo冗長バックアップストレージによって構成されたSQLデータベースやマネージドインスタンスで利用できるもので、geoレプリケートされたバックアップからデータベースを復元します。

PowerShellを使用した手順

PowerShellを使用する場合は、下記のようなスクリプトを使用します。

Azure portalを使用した手順

ダッシュボードの「追加」から「SQL データベースの作成」を選択し、基本タブで情報を入力します。さらに「追加設定」を選択し、「既存のデータを使用します」、「バックアップ」を選択し、geoリストアバックアップの中からバックアップを選択しましょう。

Azure SQL Databaseにおけるバックアップ復元にかかる時間


バックアップからの復元には膨大な量のデータを読み書きするため、実行に時間がかかります。多くの場合は12時間以内に終了するとありますが、データ容量やネットワーク環境などの影響により、それ以上に時間がかかることもあるようです。

Azure SQL Databaseで長期バックアップをする方法


長期保存ポリシーを構成することで、バックアップを最長10年間保存できるようになります。Azure Portalで設定する場合は、サーバーに移動して「バックアップ」を選択し、「保持ポリシー」タブを選択して保持設定の変更を行います。

「保持ポリシー」タブで長期バックアップ保持ポリシーを設定したいデータベースを選択し、「ポリシーの構成」ウィンドウで保存期間を指定し、「適用」を選択しましょう。

SE
これだけしっかり自動でバックアップしてくれるなら、管理はすごく楽ですね!
PL
注意点はありますが、GUIで簡単に操作できるので管理者の労力は確実に減るでしょう。

Azure SQL Databaseのバックアップを理解しよう


こまめにバックアップを取っておけば、障害が発生した時の復旧も楽になります。ただし、その分利用するデータ容量は増えてしまうので、無駄なコストを出したくないならば適切な間隔で設定することが重要です。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags