BEACHSIDE BLOG

MicrosoftとかC#を好むレンジャーの個人的メモ

Azure SQL Database のバックアップをオンプレの SQL Server で復元する

Azure SQL Databaseのデータをエクスポートして、オンプレのSQL Serverで見たい触りたいとき、一瞬迷ったのでメモしておきます。

みんな大好き SQL Server Profiler を使ってゴリっゴリに調査したい時や、おもむろにオンプレのSQL Serverをいじりたくなったとき用にこんなことをしたくなりました。

> Environment

SQL Serverの操作には、SQL Server Management Studioを使います。

> Overview

Azure SQL Databaseをバックアップ(エクスポート)は、AzureのBlob Storageに出力します。
また、オンプレへの復元は、Blob Storageにアクセスして行います。

>1. Azure SQL Databaseをバックアップ(エクスポート)

バックアップ(エクスポート)は、Azureの新ポータルで操作します。
Azureの新ポータルにログインして
[SQL データベース] > バックアップ取りたいデータベースを選択 > [エクスポート]
をクリックすればおしまいです。
この時、出力先を指定することができますので、適当にBlob Storageのアカウントと、コンテナ(=フォルダ的な意味合い)を選択します。
f:id:beachside:20160112154228p:plain

状況の確認は、ややわかりにくいメッセージがポータルに表示されますが、上図の[サーバー名]をクリックし、[インポート/エクスポート履歴」を確認することができます。
f:id:beachside:20160112155211p:plain

[Completed]になるまで、まったりします。
f:id:beachside:20160112155718p:plain

この後、ストレージのアカウントやアカウントキーが必要になるので、ポータルはひらいたままにしておきます。

 

>2. オンプレのSQL Serverで復元(リストア)

今回は、Blobへアクセスして復元しますが、エクスポートしたファイルをローカルにダウンロードして復元することをもできます。

ここからは、SQL Server Management Studioでの操作。
私が一瞬迷ったのはここ....適当に....オンプレのバックアップをリストアしようとする手順でやろうとしたら、できなくて一瞬怯みました...。

といっても操作は簡単です。
[データベース]を右クリックし、データベースの復元ではなく、[データ層アプリケーションのインポート(I)]をクリックします。
f:id:beachside:20160112172234p:plain

後は出てきた画面に従ってポチポチします。
f:id:beachside:20160112172407p:plain

この画面は、過去に[次回からこのページを表示しない]にチェックを入れている場合、表示されません(たぶん)。
出てきた場合は、次へ行きましょう。

「インポートの設定」です。
今回は、AzureのBlobから直接インポートするので、下図のように[Windows Azureからインポート]にチェックし、[ストレージアカウント]、[コンテナー]、[ファイル名]を入力します。
ストレージアカウントは、アカウント名とアカウントキーが必要です。Azureポータルで確認して入力しましょう。
f:id:beachside:20160113135132p:plain

次へ進みます。
[データベースの設定]です。
[新しいデータベース名]には、ファイル名がデフォルトで入っているので、変えたい場合は、変えましょう。その他に[SQL Serverの設定]でデータとログのファイル設定がありますが、ここは必要に応じて変えます。

f:id:beachside:20160113135528p:plain

今回の作業とは関係ありませんが、ローカルにファイルをダウンロードして復元をする場合の注意点を書いておくと、ファイルを置いたディレクトリのアクセス権によってディレクトリやファイルが見えない場合があります。その場合は、SqlServerがみることのできるディレクトリにおくか、ディレクトリに権限を与えましょう。


次へ進みます。
[概要]では、入力した内容の確認ができます。問題ないことを確認し、[完了]をクリックすると、[結果]に遷移して、リストアが開始されます。

[結果]では進行状況を確認することができます。完了するとこんな感じ。
f:id:beachside:20160113140145p:plain

この最後にタスクとして、オブジェクトエクスプローラーも更新するんですね。最近いつまで独身でいるんだろうと不安を感じる私には、これだけでも優しさを感じてグッときます。

オブジェクトエクスプローラーを見てみると、リストアしたカタログが表示されていることが確認できました。
f:id:beachside:20160113140220p:plain

まとめ

GUIに流されるままに操作するだけなので簡単、そして優しさに触れることもできた良い一日でした。
おしまい。