Azure管理コンソール内の[エクスポート]オプションを使用して、Azure SQLデータベースのBACPACバックアップを作成しました。
これを自分のマシンにダウンロードしたので、これをローカルのSQL Serverインスタンスに復元する方法に少し立ち往生しています。 DacImportExportCliツールに出会いましたが、ローカル復元の例を見つけることができませんでした。
また、誰かがこれを実行するスクリプトを作成した場合(スケジュール設定できるように)素晴らしいでしょう。
これは、SQL Server Management Studio 2012を介して簡単に実行できます。
SQL Azureデータベースをエクスポートしてから、ローカルSQL 2008 R2サーバーにインポートする必要がありました(注:Visual Studio 2010も使用しています)。マイクロソフトは確かにこれを苦痛な作業にするために邪魔をしましたが、次のことを行うことでそれを行うことができました。
このリンクに移動します http://msdn.Microsoft.com/en-us/jj650014 およびVisual Studio 2010のSQL Serverデータツールをインストールします
これにより、ローカルドライブにインストールされます。私の場合、C:\ Program Files(x86)\ Microsoft SQL Server\110\DAC\bin
コマンドラインまたはPowerShell経由でこれを参照します
SqlPackage.exeを実行します。
このリンクを開いて、SqlPackage.exeのすべてのパラメーターオプションのリストを表示します( http://msdn.Microsoft.com/en-us/library/hh550080(v = vs.103).aspx =)
.bacpacファイルをローカルのSQL 2008 R2サーバーにインポートするために実行する必要があるコマンドラインは次のとおりです。
。\ SqlPackage.exe/a:Import /sf:C:\mydatabasefile.bacpac/tdn:NorthWind/tsn:BINGBONG
/tdn
は、bacpacファイルを復元するデータベースの名前です。 /tsn
は、SQLサーバーの名前です。
これらすべてのパラメーターの説明は、#5からのリンクで確認できます。
クライアント側のツールを使用して、BACPACを復元できます。ビデオはこちらです:
http://dacguy.wordpress.com/2011/09/09/importexport-services/
ツールは次の場所から入手できます。
私の祈りが答えられたようです。 Redgateは本日、無料でSQL Azure Backupツールをリリースしました- http://www.red-gate.com/products/dba/sql-Azure-backup/download
SSMS 2012を使用している場合は、オブジェクトエクスプローラーでサーバーの下のデータベースフォルダーを右クリックし、[データ層アプリケーションのインポート...]を選択するだけで簡単です。
注意すべき点が1つあります。2013年3月26日(自分でこれを行う方法を見つける必要があったとき)、Azureから.bacpacをエクスポートすると、.Zipファイルとしてダウンロードされます。 not .bacpacファイル、およびインポートウィザードの[参照]ボタンで開くファイルダイアログには、*。bacpacまたはのいずれかのみが表示されます。ファイルフィルターでは、.Zipがサポートされていないことを意味します。ただし、フィルターを。に変更した場合、ダウンロードした.Zipを選択し、[次へ]をクリックすると、ウィザードは正常に続行します。
多数のbacpacファイルを一度に復元するスクリプトを次に示します。 Bulk Restore bacpac files local
cd [FOLDERPATH]
$goodlist = dir
cd 'C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin'
foreach($i in $goodlist){ $name = $i.Name; $namer = $i.Name.Substring(0, $i.Name.length - 7); .\SqlPackage.exe /a:Import /sf:[FOLDERPATH]\$name /tdn:$namer /tsn:[SERVERNAME] }