Azure管理コンソールの[エクスポート]オプションを使用して、Azure SQLデータベースのBACPACバックアップを作成しました。
これを自分のマシンにダウンロードしたので、これをローカルのSQL Serverインスタンスに復元する方法に少し行き詰まっています。DacImportExportCliツールを見つけましたが、ローカルリストアの例が見つかりませんでした。
また、誰かがこれを行う(スケジュールできるようにする)スクリプトを書いた場合は、すばらしいでしょう。
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バックアップツールを無料でリリースしました-http ://www.red-gate.com/products/dba/sql-azure-backup/download
SSMS 2012を使用している場合は、オブジェクトエクスプローラーでサーバーの下の[データベース]フォルダーを右クリックし、[データ層アプリケーションのインポート...]を選択するだけです。
注意すべき点が1つあります。2013年3月26日(自分でこれを行う方法を見つける必要があったとき)に、Azureから.bacpacをエクスポートすると、.zipファイルとしてダウンロードされます。ない .bacpacファイル、およびインポートウィザードで[参照]ボタンによって開かれるファイルダイアログは、いずれか一方のみ* .bacpac表示またはます。ファイルフィルターで、.zipがサポートされていないことを意味します。ただし、フィルターをに変更した場合。、ダウンロードした.zipを選択し、[次へ]をクリックすると、ウィザードは通常どおり続行されます。
一連のbacpacファイルを一度に復元するスクリプトを 次に示します。
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] }