SQL Azure Migration Wizard v3.1.3 で SQL Azure へのデータ移行(SQLAzureMW)

SQL Azure Migration Wizard の利用手順は、以下へ記載したのですが、
http://d.hatena.ne.jp/matu_tak/20100121/1264051572

SQL Server 2008 R2 の SMO をインストールしたマシンで、最新版の SQLAzureMW v3.1.3 を実行する場合の注意点をこちらへ記載します。
最新版の SQLAzureMW v3.1.3 は、日本語環境の場合に bcp コマンドの実行結果が文字化けしてしまいます。

v2.1 では、App.config ファイルの add key="BCPRowsCopied" のセクションを次のように修正しましたが、

<add key="BCPRowsCopied" value="[0-9]+\s行コピーされました。"/>

文字化けしてしまっているので、このように修正しても bcp が失敗と判断されてしまいます。また、v3.1.3 では、構成ファイルは「SQLAzureMW.exe.config」という名前になっているので、このファイルを修正します。このファイルをメモ帳などで開いて、同セクションを次のように修正します。

<add key="BCPRowsCopied" value="[0-9]+\s" /> 

数字と半角スペースがあったら bcp 成功と見なしてしまうようにしてしまっています。ソースコードを編集するのが一番なんですが、ソースを編集せずに対応する場合はこのように修正すれば、とりあえず動作します。


いずれにしても、SQL Server 2008 R2 が利用できる場合は、スクリプト生成ウィザードを利用したほうが簡単にデータ移行ができるので、わざわざ SQLAzureMW を使う必要はありません(SQLAzureMW だとデータベース ユーザーとオブジェクト権限を移行できないという制約もあるので)。

SQL Server 2008 R2 のスクリプト生成ウィザードの利用方法はこちらから
http://d.hatena.ne.jp/matu_tak/20100120