SQL Azure のデータベースのバックアップ作成

http://msdn.microsoft.com/en-us/library/hh231794.aspx

Microsoft.SqlServer.Management.Dac.DacStore クラスの Export メソッドでフルバックアップ、Import メソッドで復元ができるはず(8/17現在未確認)

(8/24 あると思ったらありませんでした。残念。SSMSの中には "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Management.Dac.DacWizard.dll" てのがあったのですが、 Microsoft.SqlServer.Management.Dac.dll が見つからない。結局 cerebrata にのツールを使うことに。)

このことを調べる契機になったのは、SQL Server 2012 Express with Advanced Services と Management Studio をインストールした後、SQL Azure に接続して右クリックして見えた「データ層アプリケーションのエクスポート」メニュー

bacpac

エクスポートをすると拡張子 .bacpac というファイルができる。ローカルの SQL Express データベースインスタンスに向かってこのファイルのインポートを実施したところ無事復旧することができた。ここまで無料なところが開発者的に嬉しい。

そして、PowerShell またはC#コンソールアプリケーションで自動化できるのではないか? ということで Microsoft.SqlServer.Management.Dac.DacStore の調査をしている。

オペレーションミス対策としてのバックアップは CREATE DATABASE … COPY AS でローテーションし、 災害対策としてのバックアップは DacStore によるファイルバックアップが良いのではないか、と構想中。
Azure Storage 側は今のとこ http://cerebrata.com/ 以外いいソリューションが見つかっていない。

 

以前 DAC Framework の調査をした時にはデータの中身の扱いがなくてあきらめたことがあった。(参考: http://sqlazure.jp/b/sqlazure/1098/ [C#で、SQL Azureへデータ層アプリケーションをデプロイする方法])|
名前空間が Microsoft.SqlServer.Dac なところが少しまぎらわしい。

開発の視点でのスキーマの管理にはこちらのデータ層アプリケーション、Visual Studio 的には データベースプロジェクトを使って、ソースコード管理しながら利用すると良い。スキーマの管理は昔に比べるとずいぶんと楽になった。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。