Microsoft SQL Server Backup to Windows Azure Tool の仕組み

すでにムッシュが、「Microsoft® SQL Server® Backup to Microsoft Windows® Azure®Tool を使ってみる」で紹介していたのですが、自分も触ってみました。

SQL Server 2005以降に対応したツールで、SQL Serverネイティブで提供されているAzure StorageのBlobにバックアップする機能が無いバージョンでもBlobにバックアップファイルをシームレスに保存リストアできます。

このツールをインストールすると、裏側で「Microsoft SQL Server Backup to Windows Azure Tool サービス(実態は、SQLBackup2Azure.exe)」が動くようになります。

  1. このサービスは、指定パス(もしくは全ディレクトリ)・拡張子を監視します。
  2. 指定した条件にマッチするファイルが出来上がると、自動的にバックアップファイルをBlobのコンテナーに転送します。
  3. コンテナーに転送が完了すると、ローカルにはスタブファイルを生成します。スタブファイルの中身は、コンテナーでのバックアップファイル名とスタブファイル名、ストレージアカウント名、コンテナー名、ファイルサイズ、圧縮後サイズなどが記録されています。
  4. リストアするときには、そのスタブファイルを指定するとシームレスにBlobからバックアップファイルをダウンロードしリストアします。

スタブファイルを削除してしまった場合

スタブファイルは普通のファイル(テキストファイル)です。

image

このファイルを消してしまった場合は、Blobコンテナーからローカルにダウンロード(*.bak)し、元の場所に配置すれば、すぐ利用できるようになります。

image

圧縮処理

このツールの機能で、バックアップファイルが圧縮されます。
そのため、SQL Serverのバックアップファイルの圧縮とは併用しないことが推奨されています。

ツールのメリット

  • ローカルストレージには、6KB程度のスタブファイルしか保持しないので、ストレージ容量を節約することができます。
  • また、Blobは3重化(地理ロケーションが有効だと6重化)されているので、安全にバクアップファイルを保持することができます。
  • シームレスに動作するので、ユーザーはAzure Blobを意識することなく、シームレスに利用できます。