Comment copier la base de données SQL Azure sur mon serveur de développement local?

est-ce que quelqu'un sait comment je peux copier une base de données SQL Azure sur ma machine de développement? J'aimerais arrêter de payer pour avoir une base de données de développement dans le cloud, mais c'est la meilleure façon d'obtenir des données de production. Je copie ma base de données de production dans une nouvelle base de données de développement mais j'aimerais avoir cette même base de données locale.

des suggestions?

122
demandé sur Praveen Kumar Purushothaman 2011-03-29 19:49:25

22 réponses

Il y a plusieurs façons de le faire:

  1. utilisant SSIS (SQL Server Integration Services) . Il importe seulement data dans votre tableau. Propriétés des colonnes, contraintes, clés, indices, procédures stockées, déclencheurs, paramètres de sécurité, UTILISATEURS, Connexions, etc. ne sont pas transférés. Cependant, il s'agit d'un processus très simple et peut être fait simplement en passant par assistant dans SQL Server Management Studio.
  2. à l'Aide de combinaison des scripts de création SSIS et DB . Vous obtiendrez ainsi les données et toutes les métadonnées manquantes qui ne sont pas transférées par SSIS. C'est aussi très simple. D'abord transférer les données en utilisant SSIS (voir les instructions ci-dessous), puis créer le script de création de DB à partir de la base de données SQL Azure, et le rejouer sur votre base de données locale.
  3. enfin, vous pouvez utiliser service D'importation/exportation en SQL Azur . Ce transfert de données (avec un objet schema) à Azure Blob Stockage comme un BACPAC. Vous aurez besoin d'un compte de stockage Azure et le faire dans le portail Web Azure. C'est aussi simple que d'appuyer sur un bouton "Exporter" dans l'Azur portail web lorsque vous sélectionnez la base de données que vous souhaitez exporter. L'inconvénient est que ce n'est qu'une procédure manuelle, Je ne sais pas comment automatiser cela à travers des outils ou des scripts -- au moins la première partie qui nécessite un clic sur la page web.

procédure manuelle pour méthode #1 (utilisant SSIS) est le suivant:

  • dans Sql Server Management Studio (SSMS) créez une nouvelle base de données vide sur votre instance SQL locale.
  • choisissez Importer des données à partir du menu contextuel (clic droit sur la base de données -> tâches -> Importer des données...)
  • entrer les paramètres de connexion pour la source (SQL Azure). Sélectionnez ".net Framework Data Provider for SqlServer" en tant que fournisseur.
  • choisir la base de données locale vide existante comme destination.
  • suivez l'assistant -- vous pourrez sélectionner les données des tables que vous voulez copier. Vous pouvez choisir d'ignorer les tables que vous n'avez pas besoin. Par exemple: si vous conservez les journaux d'application dans la base de données, vous n'en avez probablement pas besoin dans votre sauvegarde.

vous pouvez l'automatiser en créant le paquet SSIS et en le ré-exécutant à chaque fois que vous souhaitez ré-importer les données. Notez que vous ne pouvez importer en utilisant SSIS à un DB propre, vous ne pouvez pas faire incrémental mises à jour de votre base de données locale une fois que vous l'avez déjà fait une fois.

Méthode #2 (SSID data plus schema objects) est très simple. D'abord passer par les étapes décrites ci-dessus, puis créer le script de création de DB (clic droit sur la base de données dans SSMS, choisissez Générer des Scripts - > créer la base de données). Ensuite, relisez ce script dans votre base de données locale.

Méthode #3 est décrit dans le Blog ici: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production / . Il y a un clip vidéo avec le processus de transfert de contenu DB à Azure Blob stockage comme BACPAC. Après cela, vous pouvez copier le fichier localement et l'importer dans votre instance SQL. Le processus d'importation de BACPAC à des applications de niveau de données est décrit ici: http://msdn.microsoft.com/en-us/library/hh710052.aspx .

113
répondu seva titov 2016-01-12 10:53:17

je voulais juste ajouter une version simplifiée de la réponse de dumbledad , car c'est la bonne.

  1. exporter la base de données SQL Azure vers un fichier BACPAC sur blob storage.
  2. depuis L'intérieur de SQL Management studio, faites un clic droit sur votre base de données, cliquez sur"Importer l'application de niveau de données".
  3. vous serez invité à entrer les informations pour obtenir le fichier BACPAC sur votre stockage blob Azure.
  4. Frapper à côté d'un couple de fois et... Fait!
29
répondu Josh Mouch 2017-05-23 10:31:28

je pense que c'est beaucoup plus facile maintenant.

  1. Launch SQL Management Studio
  2. faites un clic droit sur" Bases de données "et sélectionnez" Importer une application de niveau de données..."
  3. l'assistant vous guidera tout au long du processus de connexion à votre compte Azure, de création d'un fichier BACPAC et de création de votre base de données.

de plus, J'utilise Sql Backup et FTP ( https://sqlbackupandftp.com/ ) pour effectuer des sauvegardes quotidiennes sur un serveur FTP sécurisé. Je sors simplement un fichier BACPAC récent de là et il l'importe dans la même boîte de dialogue, ce qui est plus rapide et plus facile de créer une base de données locale.

20
répondu ThisGuy 2015-08-28 22:56:15

dans le studio de gestion SQL Server 2016, le processus d'obtention d'une base de données azure sur votre machine locale a été simplifié.

faites un clic droit sur la base de données que vous voulez importer, cliquez sur tâches > exportez l'application de niveau de données , et exportez votre base de données vers un local .fichier dacpac.

dans l'instance de votre serveur SQL cible local, vous pouvez faire un clic droit sur bases de données > Importer l'application de niveau de données , et une fois c'est local, vous pouvez faire des choses comme la sauvegarde et restaurer la base de données.

16
répondu Adam Skinner 2018-01-05 07:46:58

vous pouvez également consulter SQL Azure Data Sync sur le portail de gestion Windows Azure. Il vous permet de récupérer et de restaurer une base de données complète, y compris le schéma et les données entre SQL Azure et SQL Server.

8
répondu Voclare 2017-01-11 01:57:04

copier les données de la base de données Azure à la base de données locale: Maintenant, vous pouvez utiliser le studio de gestion de Serveur SQL pour faire ceci comme ci-dessous:

  • connectez-vous à la base de données SQL Azure.
  • faites un clic droit sur la base de données dans L'Explorateur d'objets.
  • Choisir l'option "Tâches" / "Déployer la Base de données SQL Azure".
  • dans l'étape intitulée" Paramètres de déploiement", connectez le serveur SQL local et créez une nouvelle base de données.

enter image description here

"Suivant" / "Suivant" Et "Terminer"

5
répondu Atom 2018-02-05 08:16:11

utilisant msdeploy.exe

avertissement: msdeploy.exe ne parvient pas à créer la base de données de destination sur son propre, donc vous devez le créer manuellement d'abord.

  1. copiez la chaîne de connexion sur la page des propriétés de la base de données. Ajustez - le pour qu'il contienne un mot de passe correct. database properties page
  2. obtenir la chaîne de connexion pour la destination DB.
  3. Exécuter msdeploy.exe comme ceci:

    "c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -dest:dbDacFx="destination_DB_connection_string",dropDestinationDatabase=true -source:dbDacFx="azure_DB_connection_string",includeData=true -verbose
    

utilisant SqlPackage.exe

  1. exporter l'azure DB vers un emballage bacpac.

    "c:\Program Files (x86)\Microsoft SQL Server0\DAC\bin\SqlPackage.exe" /a:Export /ssn:"azure_db_server" /sdn:"azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac"
    
  2. Importer le package dans un local DB.

    "c:\Program Files (x86)\Microsoft SQL Server0\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
    
3
répondu Gebb 2014-04-09 00:02:01

C'est assez facile. Cela a fonctionné pour moi...en termes d'obtenir une base de données SQL Azure sur votre machine locale...:

  1. ouvrez votre studio de gestion SQL et connectez-vous à votre serveur SQL Azure.
  2. sélectionnez la base de données que vous souhaitez obtenir sur votre machine locale, et cliquez avec le bouton droit de la souris...sélectionnez "Générer des Scripts". Suivez les invites...

mais, soyez prudent dans que si vous voulez aussi les données, en plus des scripts, assurez-vous de vérifier les Options avancées avant de commencer la génération...faites défiler vers le bas jusqu'à "Types de données à script", et assurez-vous que vous avez "schéma et données"...ou ce qui est approprié pour toi.

il vous donnera un bon fichier de script SQL qui pourra alors être exécuté sur votre machine locale et il créera la base de données ainsi que la peuplera avec toutes les données.

garder à l'esprit que dans mon cas, je n'ai pas de FK ou autre contraintes...aussi, il n'était pas de beaucoup de données.

Je ne recommande pas cela comme mécanisme de secours en général...

3
répondu Barry Theunissen 2016-05-23 13:52:46

essayez ceci: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure / .

une autre alternative serait SQL Azure Data Sync .

il y a un autre billet de blog que j'ai parcouru il y a quelques jours, mais je n'ai pas pu le trouver maintenant. Je mettrai à jour ce post dès que je le trouve.

3
répondu Gaurav Mantri 2017-01-11 00:53:59

Je n'ai pas pu faire fonctionner le SSIS import / export car j'ai eu l'erreur 'Failure insérant dans la colonne en lecture seule"id"'. Je ne pouvais pas non plus avoir http://sqlazuremw.codeplex.com / de travailler, et les liens ci-dessus à la synchronisation des données SQL Azure ne fonctionnait pas pour moi.

mais j'ai trouvé un excellent billet de blog sur les fichiers BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/

Dans de la vidéo dans le post le blog de l'auteur traverse les six étapes:

  1. ouvrir un compte de stockage sur le portail de gestion Azure. Vous aurez besoin de L'URL de Blob et de la clé D'accès principale du stockage compte.

  2. le blog conseille de faire un nouveau conteneur pour le fichier bacpac et suggère d'utiliser le stockage Azuré Explorer pour cela. (N.B. vous aurez besoin de L'URL de Blob et de la clé D'accès principale du stockage compte pour l'ajouter à L'Explorateur de stockage Azure.)

  3. dans le portail de gestion Azure sélectionnez la base de données que vous souhaitez export et cliquez sur "Exporter" dans la section Import Et Export DE LA ruban.

  4. le dialogue résultant nécessite votre nom d'utilisateur et votre mot de passe pour le base de données, L'URL du blob, et la clé d'accès. Ne pas oubliez pas d'inclure le conteneur dans L'URL du blob et pour inclure un nom de fichier (par exemple https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).

  5. après avoir cliqué sur Terminer la base de données sera exportée vers le BACPAC fichier. Cela peut prendre un certain temps. Vous pouvez voir un fichier de zéro octet montrer immédiatement si vous vérifiez dans L'Explorateur de stockage Azure. C'est le Service d'Import / Export vérifiant qu'il a un accès en écriture le blob-store.

  6. une fois que cela est fait, vous pouvez utiliser L'Explorateur de stockage Azure pour télécharger le fichier BACPAC et ensuite dans le SQL Server Management Studio cliquez avec le bouton droit de la souris sur le dossier de la base de données de votre serveur local et choisissez Importer Application de niveau de données qui démarrera l'assistant qui lit dans le Fichier BACPAC pour produire la copie de votre base de données Azure. Assistant peut également se connecter directement au blob-store pour obtenir le BACPAC fichier si vous préférez ne pas copie en local d'abord.

La dernière étape ne peut être disponible dans SQL Server 2012, SQL Server Management Studio (c'est la version que je suis en cours d'exécution). Je n'ai pas les précédents sur cette machine à vérifier. Dans le billet de blog l'auteur utilise L'outil en ligne de commande DacImportExportCli.exe pour l'importation qui je crois est disponible à http://sqldacexamples.codeplex.com/releases

2
répondu dumbledad 2012-06-27 08:01:35

concernant le "Je ne pouvais pas faire fonctionner le SSIS import / export car j'ai eu L'erreur' Failure insérant dans la colonne en lecture seule "id". Ceci peut être contourné en spécifiant dans l'écran de mappage que vous voulez permettre l'insertion d'éléments D'identité.

après cela, tout a bien fonctionné en utilisant SQL Import/Export wizard pour copier D'Azure vers la base de données locale.

j'ai seulement EU L'Assistant D'Import/Export SQL qui vient avec SQL Server 2008 R2 (fonctionnait bien), et Visual Studio 2012 Express pour créer une base de données locale.

2
répondu rsh 2012-09-21 18:01:38

la réponse acceptée est périmée. J'ai trouvé une meilleure réponse: utiliser L'application Import Data-tier

informations plus détaillées s'il vous plaît voir cet article: restauration de la base de données SQL Azure sur un serveur Local

2
répondu Weimin Ye 2015-02-08 04:05:23

vous pouvez essayer avec L'outil"SQL Database Migration Wizard". Cet outil fournit l'option pour importer et exporter des données d'azure sql.

s'il vous Plaît consulter plus de détails ici.

https://sqlazuremw.codeplex.com /

2
répondu Krishna_K_Systematix 2016-10-22 06:48:05

Download Optillect SQL Azure Backup - il a 15 jours d'essai, de sorte qu'il suffira de déplacer votre base de données:)

1
répondu Optillect Team 2011-08-29 16:03:44

vous pouvez utiliser les nouveaux services mobiles Azure pour faire une exportation de sauvegarde nocturne de SQL Azure à A.fichier bacpac hébergé dans le stockage Azure. Cette solution est 100% cloud, ne nécessite pas d'outil tiers et ne nécessite pas d'instance locale hébergée par le serveur SQL pour télécharger/copier/sauvegarder quoi que ce soit.

il y a environ 8 étapes différentes, mais elles sont toutes faciles: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure.aspx

1
répondu Ben Barreth 2013-05-06 13:27:58

le truc pour moi était de commencer à répliquer des PKS/FKS/contraintes sur des DB vides, puis de désactiver temporairement les contraintes lors de l'importation de données (voir https://stackoverflow.com/a/161410 ).

plus précisément:

  1. Créer cible vide DB manuellement;
  2. Droit-cliquez sur la source DB > Tâches > Générer des Scripts;
  3. exécuter le fichier script sur la cible vide DB (maintenant DB a correct PKs/FKs/contraintes, mais pas de données);
  4. désactiver toutes les contraintes;
  5. Importer des données (cliquez-Droit sur la cible DB > Tâches > Importer des Données);
  6. Ré-activer les contraintes.

Espérons que cette aide!

0
répondu Mathieu Frenette 2017-05-23 12:10:05

Maintenant, vous pouvez utiliser le studio de gestion de Serveur SQL pour le faire.

  • connectez-vous à la base de données SQL Azure.
  • faites un clic droit sur la base de données dans L'Explorateur d'objets.
  • Choisir l'option "Tâches" / "Déployer la Base de données SQL Azure".
  • dans l'étape intitulée" Paramètres de déploiement", sélectionnez votre connexion locale à la base de données.
  • "Suivant" / "Suivant" Et "Terminer"...
0
répondu ferhrosa 2014-05-27 12:21:03

utilisez le Service Import/Export en SQL Azur pour créer un .dossier bacpac.

alors jetez un oeil à cette méthode dans un autre article de débordement de pile.

Azure SQL Database Bacpac Local Restore

0
répondu Jeff Bailey 2017-05-23 11:47:15

si quelqu'un a un problème pour importer un Bacpac D'un DB qui utilise Azure SQL Sync , Sandrino Di Mattia développé un grande application simple pour résoudre ce problème.

  1. Exporter un Bacpac de votre DB
  2. Télécharger Di Mattia binaire
  3. avec cette application de réparation de console le Bacpac téléchargé
  4. Lauch SSMS
  5. faites un clic droit sur" Bases de données "et sélectionnez" Import Data-tier Application"
  6. sélectionnez le Bacpac réparé.
0
répondu Géza 2015-09-17 09:46:43

si quelqu'un veut une option libre et efficace (et ne vous gênez pas de le faire manuellement) pour sauvegarder la base de données sur Local puis utiliser le schéma et la fonctionnalité de comparaison des données intégrées dans la dernière version Microsoft Visual Studio 2015 Community Edition (libre) ou Professionnel / Premium / Ultimate edition. Il fonctionne comme un charme!

j'ai BizPark compte avec Azure et il n'y a aucun moyen de sauvegarder la base de données directement sans payer. J'ai trouvé cette option dans VS works.

la réponse est tirée de https://stackoverflow.com/a/685073/6796187

0
répondu Crennotech 2017-05-23 11:47:15

Salut j'utilise L'outil SQLAzureMW pour la migration et la gestion de SQLAZURE DB. Très utile. Il a été téléchargé à partir de codeplex, mais actuellement il n'est pas disponible le codeplex va être mis à l'arrêt, le même outil d'application est maintenant disponible en GttHub. Ce lien ci-dessous explique comment utiliser cet outil et aussi disponible L'Application pour le téléchargement.

https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md

0
répondu Raja Subbiah 2017-10-05 10:59:24

j'utilise toujours la fonctionnalité Import/Export qui semble être la plus facile parmi toutes.

Étape 1:

obtenez la sauvegarde de l'instance d'azure comme suit, sélectionnez la base de données → clic droit → tâches → exporter L'Application de niveau de données.

Étape 2: Donnez un nom spécifique pour le fichier de sauvegarde et enregistrez-le dans l'emplacement que vous souhaitez

Étape 3: Qu'est-ce que vous avez fait une sauvegarde de la base de données à partir de l'instance sql pour votre local. Permet de restaurer les locaux. Copiez la base de données sauvegardée sur votre lecteur C. Maintenant, ouvrez la PowerShell avec les droits d'administrateur et naviguez vers le lecteur C

Étape 4: permet de télécharger le script powershell pour supprimer le maître keyRemoveMasterKey.ps1 avoir le script sur le même lecteur dans ce cas son C.

Étape 5: exécutez le script comme suit:, .\RemoveMasterKey.ps1-bacpacPath "C:\identity.bacpac 151910920"

C'est tout, maintenant vous pouvez le restaurer sur MSSQL 2017 dans votre environnement local.

Étape 6: connectez - vous à votre serveur local, et cliquez sur Bases de données → Import-Data-Tier-Application

Étape 7 : donnez un nom à restaurer pour votre base de données.

Maintenant vous verrez tout en vert!

lire mon blog avec des diagrammes.

0
répondu Sajeetharan 2018-04-05 18:21:06