web-dev-qa-db-ja.com

Azure SQL Database Bacpac Local Restore

Azure管理コンソール内の[エクスポート]オプションを使用して、Azure SQLデータベースのBACPACバックアップを作成しました。

これを自分のマシンにダウンロードしたので、これをローカルのSQL Serverインスタンスに復元する方法に少し立ち往生しています。 DacImportExportCliツールに出会いましたが、ローカル復元の例を見つけることができませんでした。

また、誰かがこれを実行するスクリプトを作成した場合(スケジュール設定できるように)素晴らしいでしょう。

126
Ben Foster

これは、SQL Server Management Studio 2012を介して簡単に実行できます。

  1. 接続>データベースノードを右クリックし、「データ層アプリケーションのインポート...」を選択します
  2. 導入手順で「Next」を選択します。
  3. enter image description here
  4. バックアップが保存されているストレージアカウントを参照または接続します。
176
Josiah Ruddell

SQL Azureデータベースをエクスポートしてから、ローカルSQL 2008 R2サーバーにインポートする必要がありました(注:Visual Studio 2010も使用しています)。マイクロソフトは確かにこれを苦痛な作業にするために邪魔をしましたが、次のことを行うことでそれを行うことができました。

  1. このリンクに移動します http://msdn.Microsoft.com/en-us/jj650014 およびVisual Studio 2010のSQL Serverデータツールをインストールします

  2. これにより、ローカルドライブにインストールされます。私の場合、C:\ Program Files(x86)\ Microsoft SQL Server\110\DAC\bin

  3. コマンドラインまたはPowerShell経由でこれを参照します

  4. SqlPackage.exeを実行します。

  5. このリンクを開いて、SqlPackage.exeのすべてのパラメーターオプションのリストを表示します( http://msdn.Microsoft.com/en-us/library/hh550080(v = vs.103).aspx =)

  6. .bacpacファイルをローカルのSQL 2008 R2サーバーにインポートするために実行する必要があるコマンドラインは次のとおりです。

    。\ SqlPackage.exe/a:Import /sf:C:\mydatabasefile.bacpac/tdn:NorthWind/tsn:BINGBONG

/tdnは、bacpacファイルを復元するデータベースの名前です。 /tsnは、SQLサーバーの名前です。

これらすべてのパラメーターの説明は、#5からのリンクで確認できます。

52
Flea

クライアント側のツールを使用して、BACPACを復元できます。ビデオはこちらです:

http://dacguy.wordpress.com/2011/09/09/importexport-services/

ツールは次の場所から入手できます。

http://sqldacexamples.codeplex.com/documentation

10
abc

私の祈りが答えられたようです。 Redgateは本日、無料でSQL Azure Backupツールをリリースしました- http://www.red-gate.com/products/dba/sql-Azure-backup/download

7
Ben Foster

SSMS 2012を使用している場合は、オブジェクトエクスプローラーでサーバーの下のデータベースフォルダーを右クリックし、[データ層アプリケーションのインポート...]を選択するだけで簡単です。

注意すべき点が1つあります。2013年3月26日(自分でこれを行う方法を見つける必要があったとき)、Azureから.bacpacをエクスポートすると、.Zipファイルとしてダウンロードされます。 not .bacpacファイル、およびインポートウィザードの[参照]ボタンで開くファイルダイアログには、*。bacpacまたはのいずれかのみが表示されます。ファイルフィルターでは、.Zipがサポートされていないことを意味します。ただし、フィルターをに変更した場合、ダウンロードした.Zipを選択し、[次へ]をクリックすると、ウィザードは正常に続行します。

5
Adam Anderson

多数の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] }
3