224 votes

copier la base de données sqlazure dans la base de données 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 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?

145voto

Seva Titov Points 5316

Il y a plusieurs façons de faire cela:

  1. À l'aide de SSIS (SQL Server Integration Services). Il ne importations data de votre tableau. Les propriétés de la colonne, des contraintes, des clés, des indices, des procédures stockées, des déclencheurs, des paramètres de sécurité, les utilisateurs, les ouvertures de session, etc. ne sont pas transférés. Toutefois, il est processus très simple et peut être fait simplement en passant par l'assistant dans SQL Server Management Studio.
  2. À l'aide de la combinaison de SSIS de base de données et des scripts de création. Ainsi, vous obtenez les données et toutes les métadonnées manquantes qui n'est pas transféré par SSIS. C'est aussi très simple. Premier transfert de données à l'aide de SSIS (voir les instructions ci-dessous), puis de créer DB Créer un script de base de données SQL Azure, et re-jouer à partir de votre base de données locale.
  3. Enfin, vous pouvez utiliser l'Importation/Exportation de service de SQL Azure. Il transfère les données (avec un schéma d'objets) à Azure Blob Storage comme BACPAC. Vous aurez besoin d'un compte de Stockage Azure et le faire dans Azure portail web. 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 qu'il est uniquement manuel de procédure, je ne sais pas un moyen d'automatiser cela, grâce à des outils ou scripts -- au moins la première partie qui nécessite un clic sur la page web.

Manuel de procédure pour la méthode n ° 1 (à l'aide de SSIS) est la suivante:

  • Dans Sql Server Management Studio (SSMS) créer une nouvelle base de données vide sur votre instance de SQL.
  • Choisissez Importer des Données à partir du menu contextuel
  • Saisissez les paramètres de connexion pour la source (SQL Azure). Sélectionnez ".Net Framework Fournisseur de Données pour sql server" en tant que fournisseur.
  • Choisissez l'emplacement de la base de données locale en tant que destination.
  • Suivez l'assistant -- vous serez en mesure de sélectionner les tables de données que vous voulez copier. Vous pouvez choisir d'ignorer les tables que vous n'avez pas besoin. E. g. si vous gardez journaux d'application dans la base de données, vous n'avez probablement pas besoin dans votre sauvegarde.

Vous pouvez automatiser la création de package SSIS et la ré-exécution à tout moment vous le souhaitez ré-importer les données. Notez que vous pouvez uniquement importer à l'aide de SSIS pour nettoyer DB, vous ne pouvez pas faire des mises à jour de votre base de données locale une fois que vous avez déjà fait une fois.

Méthode n ° 2 (SSID de données en plus des objets de schéma) est très simple. D'abord passer par une procédure décrite ci-dessus, puis créer DB script de Création (righ cliquez sur base de données dans SSMS, choisissez Générer des Scripts -> Base de données Créer). Puis re-jouer ce script sur votre base de données locale.

Méthode n ° 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 DB contenu à Azure Blob storage comme BACPAC. Après cela, vous pouvez copier le fichier localement et de les importer dans votre instance de SQL. Processus d'importation de BACPAC à l'application de la couche Données est décrite ici: http://msdn.microsoft.com/en-us/library/hh710052.aspx.

37voto

Josh Points 1001

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

  1. Exportation de la Base de données SQL Azure à un fichier BACPAC sur le stockage blob.
  2. À partir de l'intérieur de SQL Management studio, cliquez avec le bouton droit de la base de données, cliquez sur "importer des données de la couche application".
  3. Vous serez invité à entrer les informations pour obtenir le BACPAC fichier sur votre Azure blob storage.
  4. Frapper à côté d'un couple de fois et... Fait!

15voto

vtortola Points 6351

Vous pouvez utiliser http://sqlazuremw.codeplex.com/

C'est assez facile à utiliser.

9voto

Voclare Points 171

Vous pouvez également accéder à 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.

3voto

Gaurav Mantri Points 19423

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

Autre alternative serait de SQL Azure Data Sync.

Il y a un plus blog post, j'ai couru à travers un quelques jours en arrière, mais ne pouvait pas le trouver maintenant. Je mettrai à jour ce post dès que je le trouve.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X