Restauration locale Bacpac de la firebase database SQL Azure

J’ai créé une sauvegarde BACPAC de ma firebase database SQL Azure à l’aide de l’option “Exporter” de la console de gestion Azure.

Après l’avoir téléchargé sur ma machine, je suis un peu coincé sur la façon dont je peux restaurer cela sur une instance SQL Server locale. 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 (il peut donc être programmé), ce serait génial.

Cela peut se faire simplement via SQL Server Management Studio 2012

  1. Cliquez avec le bouton droit sur le nœud Connexion> Bases de données et sélectionnez ” Importer une application de niveau données …
  2. Sélectionnez ” Suivant ” lors de l’étape d’introduction.
  3. entrer la description de l'image ici
  4. Parcourez ou connectez-vous à un compte de stockage où les sauvegardes sont conservées.

Je devais exporter une firebase database SQL Azure, puis l’importer sur un serveur SQL 2008 R2 local (Remarque: j’utilise également Visual Studio 2010). Microsoft a fait tout son possible pour rendre cette tâche pénible, mais j’ai pu le faire en procédant comme suit:

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

  2. Cela va installer sur votre lecteur local. Dans mon cas, voici où il se trouve: 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 une liste de toutes les options de parameters pour SqlPackage.exe ( http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx )

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

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

/tdn est le nom de la firebase database à laquelle vous voulez restaurer votre fichier bacpac. /tsn est le nom de votre serveur SQL.

Vous pouvez voir toutes ces descriptions de parameters sur le lien de # 5.

Vous pouvez restaurer le BACPAC en utilisant les 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

Il semble que mes prières aient été exaucées. Redgate a lancé son outil de sauvegarde SQL Azure GRATUITEMENT aujourd’hui – http://www.red-gate.com/products/dba/sql-azuree-backup/download

Si vous utilisez SSMS 2012, il vous suffit de cliquer avec le bouton droit sur le dossier Bases de données sous un serveur dans l’Explorateur d’objects et de choisir “Importer une application de niveau données …”.

Il y a une bosse dans la route à surveiller: au 26 mars 2013 (quand j’avais besoin de savoir comment faire moi-même), lorsque vous exportez un .bacpac à partir d’Azure, il sera téléchargé en tant que fichier .zip, pas un fichier .bacpac, et la boîte de dialog de fichier qui est ouverte par le bouton Parcourir dans l’assistant d’importation affichera uniquement * .bacpac ou . dans les filtres de fichiers, ce qui implique que .zip n’est pas pris en charge. Cependant, si vous modifiez le filtre à . , sélectionnez votre fichier .zip téléchargé, puis cliquez sur Suivant, l’assistant continuera normalement.

Voici un script pour restaurer un tas de fichiers bacpac à la fois: Bulk Restore 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.Subssortingng(0, $i.Name.length - 7); .\SqlPackage.exe /a:Import /sf:[FOLDERPATH]\$name /tdn:$namer /tsn:[SERVERNAME] }