web-dev-qa-db-fra.com

Restauration locale Bacpac de la base de données SQL Azure

J'ai créé une sauvegarde BACPAC de ma base de données SQL Azure à l'aide de l'option "Exporter" de la console de gestion Azure.

Après avoir téléchargé ceci sur ma machine, je suis un peu coincé sur la façon dont je peux restaurer cela sur une instance locale de SQL Server. Je suis tombé sur l'outil DacImportExportCli, mais je n'ai pas trouvé d'exemple de restauration locale.

Aussi, si quelqu'un a écrit un script qui le fait (ce qui peut être programmé), ce serait génial.

126
Ben Foster

Cela peut être fait simplement via SQL Server Management Studio 2012

  1. Cliquez avec le bouton droit de la souris sur le noeud Connexion> Bases de données et sélectionnez "Application d'importation de couche de données ..."
  2. Sélectionnez "Next" à l'étape d'introduction.
  3. enter image description here
  4. Parcourez ou connectez-vous à un compte de stockage sur lequel les sauvegardes sont conservées.
176
Josiah Ruddell

J'avais besoin d'exporter une base de données SQL Azure, puis de l'importer sur un serveur local SQL 2008 R2 (Remarque: j'utilise également Visual Studio 2010). Microsoft a certainement fait de son mieux pour rendre cette tâche pénible, mais j’ai pu le faire en procédant comme suit:

  1. Allez à ce lien http://msdn.Microsoft.com/en-us/jj650014 et installez les outils de données SQL Server pour Visual Studio 2010.

  2. Cela installera sur votre disque local. Dans mon cas, voici où il est mis: C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin

  3. Naviguez jusqu'à ceci via la ligne de commande ou PowerShell

  4. Vous allez vouloir exécuter le SqlPackage.exe

  5. Ouvrez ce lien pour voir la liste de toutes les options de paramètre pour SqlPackage.exe ( http://msdn.Microsoft.com/en-us/library/hh550080 (v = vs.103) .aspx =)

  6. Voici la ligne de commande à exécuter pour importer un fichier .bacpac sur mon serveur SQL 2008 R2 local:

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

/tdn est le nom de la base de données sur laquelle vous souhaitez restaurer votre fichier bacpac. /tsn est le nom de votre serveur SQL.

Vous pouvez voir toutes ces descriptions de paramètres sur le lien à partir de # 5.

52
Flea

Vous pouvez restaurer BACPAC à l'aide des outils côté client. Les vidéos sont ici:

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

Les outils sont disponibles ici:

http://sqldacexamples.codeplex.com/documentation

10
abc

Semble que mes prières ont été exaucées. Redgate a lancé son outil de sauvegarde SQL Azure GRATUITEMENT aujourd'hui - http://www.red-gate.com/products/dba/sql-Azure-backup/download

7
Ben Foster

Si vous utilisez SSMS 2012, il suffit de cliquer avec le bouton droit de la souris sur le dossier Bases de données situé sous un serveur dans l'Explorateur d'objets et de choisir "Importer une application de niveau données ...".

Il faut se méfier de la situation: à partir du 26 mars 2013 (lorsque je devais savoir comment le faire moi-même), lorsque vous exportez un fichier .bacpac à partir d'Azure, il sera téléchargé sous forme de fichier .Zip, not un fichier .bacpac et la boîte de dialogue de fichier ouverte par le bouton Parcourir de l'assistant d'importation n'affichera que * .bacpac ou . dans les filtres de fichiers, ce qui implique que .Zip n'est pas pris en charge. Cependant, si vous modifiez le filtre en . , sélectionnez votre fichier .Zip téléchargé, puis cliquez sur Suivant, l'assistant se déroulera normalement.

5
Adam Anderson

Voici un script pour restaurer un groupe de fichiers bacpac à la fois: restauration en bloc de fichiers bacpac 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
Jeffrey Rosselle