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 le meilleur moyen 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 que cette même base de données soit locale.
Aucune suggestion?
Il y a plusieurs façons de le faire:
data
dans votre tableau. Les propriétés de colonne, les contraintes, les clés, les index, les procédures stockées, les déclencheurs, les paramètres de sécurité, les utilisateurs, les connexions, etc. ne sont pas transférés. Cependant, ce processus est très simple et peut être effectué simplement en passant par l’assistant de SQL Server Management Studio. La procédure manuelle pour méthode n ° 1 (à l'aide de SSIS) est la suivante:
Vous pouvez l’automatiser en créant un package SSIS et en le réexécutant à tout moment pour réimporter les données. Notez que vous pouvez uniquement importer à l'aide de SSIS vers une base de données vierge. Vous ne pouvez pas effectuer de mises à jour incrémentielles dans votre base de données locale une fois que vous l'avez déjà effectuée.
Méthode n ° 2 (données SSID plus objets de schéma) est très simple. Commencez par suivre les étapes décrites ci-dessus, puis créez un script de création de base de données (cliquez sur la base de données dans SSMS, choisissez Générer des scripts -> Création de la base de données). Relancez ensuite ce script sur 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 existe un clip vidéo avec le processus de transfert du contenu de la base de données vers le stockage Azure Blob en tant que BACPAC. Ensuite, vous pouvez copier le fichier localement et l'importer dans votre instance SQL. Le processus d'importation de BACPAC dans l'application de niveau données est décrit ici: http://msdn.Microsoft.com/en-us/library/hh710052.aspx .
Je voulais juste ajouter une version simplifiée de la réponse de dumbledad , puisque c'est la bonne.
Je pense que c'est beaucoup plus facile maintenant.
De plus, j'utilise Sql Backup et FTP ( https://sqlbackupandftp.com/ ) pour effectuer des sauvegardes quotidiennes sur un serveur FTP sécurisé. Je tire simplement un fichier BACPAC récent à partir de là et l'importe dans la même boîte de dialogue, ce qui est plus rapide et plus facile pour créer une base de données locale.
Dans SQL Server 2016 Management Studio, le processus permettant d'obtenir une base de données Azure sur votre ordinateur local a été simplifié.
Cliquez avec le bouton droit sur la base de données que vous souhaitez importer, cliquez sur Tâches> Exporter une application de niveau données , puis exportez votre base de données vers un fichier .dacpac local.
Dans votre instance de serveur SQL cible locale, vous pouvez cliquer avec le bouton droit de la souris sur Bases de données> Importer une application de niveau données , puis, une fois localisée, effectuer des opérations telles que la sauvegarde et la restauration de la base de données.
Copiez les données de la base de données Azure dans la base de données locale:
"Suivant"/"Suivant"/"Terminer"
Vous pouvez également consulter SQL Azure Data Sync dans 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.
C'est assez facile. Cela a fonctionné pour moi ... pour obtenir une base de données SQL Azure sur votre ordinateur local ...:
MAIS, faites attention en ce que si vous voulez AUSSI les DONNÉES, ainsi que les scripts, assurez-vous de vérifier les Options avancées avant de commencer la génération ... faites défiler jusqu'à "Types de données à écrire", et assurez-vous que vous avez bien " Schéma et données "... ou tout ce qui vous convient.
Il vous donnera un fichier de script Nice SQL qui peut ensuite être exécuté sur votre machine locale. Il créera la base de données et la remplira avec toutes les données.
Gardez à l'esprit que dans mon cas, je n'ai pas de FK ni d'autres contraintes ... aussi, ce n'était pas beaucoup de données.
Je ne recommande pas cela comme mécanisme de sauvegarde en général ...
msdeploy.exe
Avertissement: msdeploy.exe
ne parvient pas à créer la base de données de destination, vous devez donc la créer manuellement.
Exécutez 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
SqlPackage.exe
Exportez la base de données Azure vers un package bacpac.
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Export /ssn:"Azure_db_server" /sdn:"Azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac"
Importez le package dans une base de données locale.
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
Veuillez essayer 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 encore un article de blog que j'ai rencontré il y a quelques jours mais que je ne pouvais pas trouver maintenant. Je mettrai à jour ce message dès que je le trouverai.
Vous pouvez essayer avec l'outil "Assistant de migration de base de données SQL" . Cet outil fournit une option pour importer et exporter des données à partir d'Azure SQL.
Veuillez vérifier plus de détails ici.
L'importation/exportation SSIS ne fonctionnait pas, l'erreur "Echec lors de l'insertion dans la colonne en lecture seule" "id". Je ne pouvais pas non plus obtenir http://sqlazuremw.codeplex.com/ , et les liens ci-dessus vers SQL Azure Data Sync ne fonctionnaient pas pour moi.
Mais j'ai trouvé un excellent article de blog sur les fichiers BACPAC: http://dacguy.wordpress.com/2012/01/24/sql-Azure-importexport-service-has-hit-production/
Dans la vidéo dans le post l'auteur du post du blog passe par six étapes:
Créez ou accédez à un compte de stockage dans Azure Management Portal . Vous aurez besoin de l'URL du blob et de la clé d'accès principale du compte de stockage
La publication de blog recommande de créer un nouveau conteneur pour le fichier bacpac et Suggère d'utiliser le Azure Storage Explorer pour cela. (N.B . Vous aurez besoin de l'URL du blob et de la clé d'accès principale du compte de stockage Pour l'ajouter à l'explorateur Azure Storage.)
Dans Azure Management Portal, sélectionnez la base de données que vous souhaitez exporter Puis cliquez sur "Exporter" dans la section Importer et exporter du ruban
Le dialogue qui en résulte nécessite votre nom d'utilisateur et votre mot de passe pour la base de données , L'URL du blob et la clé d'accès. N'oubliez pas d'inclure Le conteneur dans l'URL du blob et d'inclure un nom de fichier (par exemple https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).
Après avoir cliqué sur Terminer, la base de données sera exportée dans le fichier .AC. BACPAC. Cela peut prendre un certain temps. Un fichier de zéro octet peut s'afficher immédiatement si vous archivez l'explorateur Azure Storage. Il s’agit du service Import/Export qui vérifie qu’il dispose d’un accès en écriture sur le Blob-store.
Ceci fait, vous pouvez utiliser Azure Storage Explorer pour télécharger Le fichier BACPAC, puis dans 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. l'assistant qui lit dans le fichier BACPAC pour produire la copie de votre base de données Azure. L'assistant Peut également se connecter directement au magasin d'objets blob pour obtenir le fichier .AC. BACPAC si vous préférez ne pas le copier localement au préalable.
La dernière étape n'est peut-être disponible que dans l'édition SQL Server 2012 de SQL Server Management Studio (c'est la version que j'exécute). Je n'ai pas les précédents sur cette machine à vérifier. Dans l'article de blog, l'auteur utilise l'outil de ligne de commande DacImportExportCli.exe pour l'importation qui, je crois, est disponible sur http://sqldacexamples.codeplex.com/releases
La réponse acceptée est obsolète. J'ai trouvé une meilleure réponse: Utiliser l'application Import Data-tier
Des informations plus détaillées, consultez cet article: Restauration de la base de données Azure SQL sur un serveur local
En ce qui concerne "Je ne pouvais pas faire fonctionner l'importation/exportation SSIS car j'avais l'erreur" Échec d'insertion dans la colonne en lecture seule "" id "". .__ voulez autoriser l'insertion d'éléments d'identité.
Après cela, tout a fonctionné correctement à l'aide de l'assistant d'importation/exportation SQL pour copier d'Azure vers une base de données locale.
Je n'avais que l'importation/exportation SQL Wizard fournie avec SQL Server 2008 R2 (sans problème) et Visual Studio 2012 Express pour créer une base de données locale.
Télécharger Optillect SQL Azure Backup - 15 jours d’essai, il suffira donc de déplacer votre base de données :)
J'utilise toujours la fonction d'importation/exportation qui semble être la plus simple parmi toutes.
Étape 1:
Obtenez la sauvegarde à partir de l'instance Azure comme suit: Sélectionnez la base de données base de données → clic droit → tâches → Exporter l'application de niveau données.
Étape 2: Donnez un nom spécifique au fichier de sauvegarde et enregistrez-le à l'emplacement de votre choix.
Étape 3: Voilà, vous avez sauvegardé la base de données à partir de l'instance SQL sur votre serveur local. Permet de le restaurer au local. Copiez la base de données sauvegardée sur votre lecteur C. Ouvrez maintenant le PowerShell avec les droits d’administrateur et accédez au 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"
Voilà, vous pouvez maintenant 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-Data-Application.
Étape 7: Donnez un nom à votre base de données à restaurer.
Maintenant, vous verrez tout en vert!
Lisez mon blog avec des diagrammes.
Vous pouvez utiliser les nouveaux services mobiles Azure pour effectuer une exportation de sauvegarde nocturne de SQL Azure vers un fichier .bacpac hébergé dans Azure Storage. Cette solution est 100% cloud, ne nécessite pas d’outil tiers, ni d’instance locale SQL Server hébergée pour tout téléchargement/copie/sauvegarde.
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 -votre-sql-Azure.aspx
Utilisez le service d'importation/exportation dans SQL Azure pour créer un fichier .bacpac.
Puis jetez un coup d'œil à cette méthode dans un autre article de Stack Overflow.
Restauration locale de Bacpac de la base de données SQL Azure
L'astuce pour moi était de commencer à répliquer les PK/FK/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:
J'espère que cela t'aides!
Si quelqu'un rencontre un problème pour importer un bacpac d'une base de données qui utilise Azure SQL Sync, Sandrino Di Mattia a développé une excellente application simple pour résoudre ce problème.
Si quelqu'un veut une option gratuite et efficace (et ne craint pas de le faire manuellement) pour sauvegarder la base de données en local, utilisez la fonctionnalité de comparaison de schéma et de données intégrée à la dernière version de Microsoft Visual Studio 2015 Community Edition (gratuite) ou Professional/Premium/Ultimate édition. Il fonctionne comme un charme!
J'ai un compte BizPark 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 provient de https://stackoverflow.com/a/685073/6796187
Vous pouvez maintenant utiliser SQL Server Management Studio pour cela.
Bonjour, j'utilise l'outil SQLAzureMW pour la gestion et la migration de bases de données SQLAzure. Très utile. Il a été téléchargé depuis codeplex, mais pour l’instant, il n’est pas disponible, codeplex va être arrêté, le même outil d’application est désormais disponible dans GttHub. Ce lien ci-dessous explique comment utiliser cet outil et également télécharger l’application.
Dans SQL Server Management Studio
Cliquez avec le bouton droit sur la base de données que vous souhaitez importer, cliquez sur Tâches> Exporter une application de données et exportez votre base de données vers un fichier .dacpac local.
Dans votre instance de serveur SQL cible locale, vous pouvez cliquer avec le bouton droit de la souris sur Bases de données> Importer une application de données. Une fois qu’elle est locale, vous pouvez effectuer des opérations telles que la sauvegarde et la restauration de la base de données.