回答:
SQL Azure Migration Wizardを使用します。
SQL Azure移行ウィザード(SQLAzureMW)には、分析、スクリプトの生成、および(BCPを介した)データの移行のオプションがあります。
- SQL ServerからSQL Azure
- SQL AzureからSQL Server
- SQL AzureからSQL Azure
bcp
すべてのテーブルのコンテンツをローカルファイルにエクスポートするスクリプトを作成します。
bcp
ターゲットデータベースの各テーブルを宛先マシンのパスにエクスポートするコマンドを出力するクエリを作成することから始めます。
SELECT
'bcp '
+ SCHEMA_NAME(schema_id) + '.' + name
+ ' out '
+ ' D:\local_backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'
+ ' -c '
+ ' -S servername.database.windows.net '
+ ' -d database_name '
+ ' -U username '
+ ' -P password'
FROM sys.tables;
bcp
コピー先のマシンのSQL Azureデータベースに対してこのクエリを実行し、結果をcmd
ファイルに保存します。そのcmd
ファイルを実行して、各テーブルをテキストファイルにエクスポートします。
C:\> REM ask bcp to save the results of the above query to a file
C:\> bcp "SELECT 'bcp ' + SCHEMA_NAME(schema_id) + '.' + name + ' out ' + ' D:\backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt' + ' -c ' + ' -S servername.database.windows.net ' + ' -d database_name ' + ' -U username ' + ' -P password' FROM sys.tables;" queryout output_path\bcp_script.cmd -c -S servername.database.windows.net -d database_name -U username -P password
C:\> REM execute the bcp commands saved to file
C:\> output_path\bcp_script.cmd
これは迅速で汚れたアプローチであり、大規模なデータベースや複雑なスキーマには適していません。
Red Gateには、適切な名前のSQL Azure Backup Toolがあります。無料ですが、Red Gateはサポートを終了しました。
このリストに新しいツールがあることに気付きました。それはIderaのAzure SQL Database Backupです。無料で、通常は優れたツールを作成するため、試してみる価値があります。
データベース(今回はスキーマのみ、データなし)をAzureにエクスポートする別の方法は、DACパッケージ(Management StudioまたはVisual Studio 2010から抽出された.dacpacファイル)を使用することです。これは、SQL 2008 R2 SP1 +からのみ機能します。
データ層アプリケーションの詳細については、こちらをご覧ください。