以前、SQL Server 2014 のデータベースのファイルを BLOB に配置する構成について という投稿をしました。
この投稿ではデータベースを作成するパターンで記載したのですが、BLOB ストレージへの配置はデータベースのデタッチ/アタッチ方式でも使用することができます。
今回の投稿ではこの方法をまとめてみたいと思います。
技術情報については レッスン 6: 内部設置型のソース コンピューターから Windows Azure のターゲット コンピューターにデータベースを移行する が参考になります。
基本的な作業の流れは、前回の投稿と変わりません。
資格情報を作成して、データベースを [FOR ATTACH] で [CREATE DATABASE] すればアタッチすることができます。
注意点としては BLOB へアップロードする際にファイルは [ページ BLOB] でアップロードするということでしょうか。
ブロック BLOB でアップロードしたファイルをアタッチしようとすると、
メッセージ 5120、レベル 16、状態 142、行 13 |
というようなエラーが発生します。
これについては Migrate data files from existing database to Azure に情報が公開されています。
CodePlex の Azure Storage Explorer でファイルをアップロードした場合は、ブロック BLOB でアップロードされます。
ページ BLOB でアップロードをする場合は CloudXplorer を使用するとよいかと。
Freeware Version でもページ BLOB でアップロードすることができます。
BLOB ストレージにファイルを格納した場合の形式はページ BLOB になりますので、ブロック BLOB でアップロードしたファイルを操作使用とした場合は上記のエラーが発生します。
データベースのデタッチ / アタッチによるデータベースのコピーは下位バージョンのデータベースの移行でも使用することができます。
SQL Server 2014 の場合は、SQL Server 2005 以降の互換性レベルをサポートしていますので、SQL Server 2005 のデータベースをデタッチ / アタッチで Azure の仮想マシンに移行をすることも可能です。
BLOB ストレージを使用したバックアップ/リストアや MicrosoftR SQL ServerR Backup to Microsoft WindowsR AzureRTool を使用して、効率的な移行を検討したいものです。