SQL Server と SQL Azure 間でのデータベース移行手順(ツールを利用した方法)

今では、いろいろな方法が確立されてきている SQL Server と SQL Azure 間のDB移行ですが、「SQL Azure Migration Wizard」というツールを使った方法をご紹介します。

いろいろな方法があるといいましたが、SQL Azureではバックアップ・リストアやデタッチ・アタッチといった機能は存在しません。
基本的にはスキーマとデータをスクリプトとしてエクスポートし、SQL Azure にスクリプトを流すという方式をとることになります。

このツールでは、スクリプト生成とBCPコマンドにより、エクスポートからインポートまでを一連のウィザードで行えるのが特徴です。

ツールは、以下からダウンロードすることができます。
日本語化もされていて、SQL Azureの新機能にも次々と対応しています。
http://sqlazuremw.codeplex.com/

ここでは現時点で最新バージョンである3.8.5での手順を説明します。

なお、以下の移行パターンをサポートしています。
1) SQL Server から SQL Azureへ
2) SQL Azure から SQL Serverへ
3) SQL Azure から SQL Azureへ

手順をご紹介する前に、ツールの動作環境ですが「SQL Server 2008 R2 SP1」がインストールされている必要があります。
Express版でも問題ありません。
SP1が適用されていないと、肝心なAzureへのデータベース接続時にエラーが発生してしまいます。

それでは、SQL ServerからSQL Azureへ既存のデータベースを移行する手順をご説明します。

まず、ツールを起動し「処理の選択」画面で、「分析と移行」の「SQL データベース」を選択し、「次へ」をクリックします。

移行元サーバへの接続情報を入力し「接続」をクリックします。
※接続先データベースは「Master DB」のままでOKです。

移行元のデータベースを選択し「次へ」

移行するオブジェクトを選択します。

「詳細設定」をクリックすると、スクリプト生成時のオプションを設定できます。
※既に移行先にテーブル等が存在する場合は、DROP文を付加することもできます。

「次へ」をクリックし、移行するオブジェクトと設定を確認し、「次へ」をクリックすると、スクリプトが生成されます。
正常に完了したことを確認し、「次へ」をクリックします。

移行先のSQL Azureへの接続情報を入力し、「次へ」
※接続先データベースは「Master DB」のままでOKです。

移行先のデータベースを作成していない場合は、「データベースを作成」をクリックし、
以下のダイアログで、データベースを作成します。

移行先のデータベースを選択し、「次へ」をクリックすると、スクリプトが実行され、データベースの移行が行われます。

スクリプトの実行が正常に完了していれば、移行作業は終了です。
「次へ」ボタンが見えていますが、「終了」ボタンでツールを終了します。

以下は、SQL Azure 管理ポータルで、データベースの内容を確認した画面です。
データも含めて移行されていることがわかります。

如何でしょうか、非常に簡単な手順で移行が出来たかと思います。
ちなみに、2回目以降は、SQL Azureの接続先情報などが保存されているため、より素早く手順が完了するようになります。


This entry was posted in 未分類 and tagged , . Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>