web-dev-qa-db-fra.com

Voulez-vous créer un script pour exporter des données, des tables et des vues dans un script SQL

Vous voulez créer un script pour exporter des données, des tables et des vues dans un script SQL.

J'ai SQL Server 2008 R2.

Jusqu'à présent, je n'ai été capable de générer automatiquement un sqlscript que pour toutes les tables et toutes les vues. Mais les données n'étaient pas incluses. 

OU existe-t-il un moyen plus facile d'exporter des données, des tables, des vues d'un serveur SQL vers le serveur SQL de mon fournisseur de services Internet?

Cordialement Thé

27
TeaDrinkingGeek

Si pour une raison quelconque une sauvegarde/restauration ne fonctionne pas pour vous, l'outil Generate Scripts de SSMS inclut une option de script avancée pour inclure des données:

enter image description here

60
John Dewey

Voici quelques options à considérer (hiérarchisées par rapport à ce que je recommanderais): -

  • Une simple sauvegarde et restauration sera la solution la plus simple et la plus rapide.
  • L'utilisation d'un outil de script de données (comme Data Compare de Red-Gate) pourrait résoudre vos besoins;
    • Utilisez la comparaison de base de données dans le cadre de Visual Studio. 
  • Un progiciel SSIS pourrait être développé pour faire circuler les données entre les deux instances; ou
  • Écrivez votre propre script à l'aide de la commande SET IDENTITY INSERT ON / OFF pour les tables à identité.
5
Kane

Pour ce faire, le moyen le plus simple consiste à créer une sauvegarde, à copier le fichier .bak sur l'autre serveur et à restaurer la sauvegarde à cet emplacement.

4
jhewlett

Pour générer un schéma avec des données, suivez ces étapes.

  • Sélectionnez la base de données pour générer un schéma '>' clic droit '>' Tâches '>' Générer un schéma '>' cliquez sur NEXT dans la fenêtre contextuelle '>' 
  • sélectionnez l'objet DB pour générer le schéma et cliquez sur NEXT '>' 
  • Aller à l'option avancée et faites défiler '>' 
  • Rechercher Type de données à écrire et sélectionnez une option selon vos besoins. '>' puis Suivant Suivant et le terminer.
  • Profitez-en.

As in image

1

J'utilise Navicat Premium pour ce genre de choses dans mysql. Il génère SQL à partir de données, de tables, de vues et de tout le reste. Il fournit des outils pour copier ou synchroniser une table à partir d'une base de données sur différents serveurs ou plateformes. Par exemple, je l’utilise tellement pour transférer mes tables de MySQL vers une base de données SQLite , Si facile et rapide. Sinon, je devais le transférer manuellement avec tant de peine.

très bon outil et nécessaire pour tout administrateur de base de données ou programmeur. Il supporte MySQL, Oracle, MS SQL Server, PostgreSQL et SQLite.

1
Ali

Comme @Jhewlett a dit que ce serait la meilleure façon de le faire. pour répondre à la question dans la section commentaire. non ça ne devrait pas être un problème. Assurez-vous simplement que les versions de SQL Server sont les mêmes. Il n’ya pas si longtemps, il y avait un problème avec deux ordinateurs avec différentes versions du R2 installé et je ne pouvais pas restaurer la sauvegarde. Une autre chose que vous pouvez également faire est de scripter la base de données entière avec des données, mais cela ne sera pas recommandé, car la génération du script et la fin de son exécution pourraient prendre beaucoup de temps. 

Ou vous pouvez simplement arrêter l'instance du serveur SQL, copier la base de données sur un disque dur externe et la reconnecter à l'autre serveur. Rappelez-vous simplement de démarrer les instances après avoir effectué cette étape. 

1
Louis

Si vous ne souhaitez pas porter toutes les données de tables (par exemple, vous ne devez porter que des données de base dans des tables spéciales), les options de script ne vous sont pas utiles. Dans ce cas, vous aurez deux options. La première utilise des outils tiers tels que Red-Gate et la deuxième méthode consiste à écrire le script par vous-même. Je préfère la deuxième option parce que, sauf le prix élevé de la plupart d’entre eux, je veux exécuter un petit script à des fins de suppression, de mise à jour et d’insertion. Mais le problème important est là: le nombre d’enregistrements est peut-être trop long pour écrire des scripts enregistrement par enregistrement. Je pense que le serveur lié est un bon point pour résoudre ce problème. C’est suffisant pour décrire Just Declare Linked Server comme vous le voyez dans Images et obtenir un nouveau script dans votre base de données source et rédiger des scripts avec accès aux bases de données source et de destination. L'image jointe doit être claire.

Create New Linked Server:

enter image description here

Write Destination SQL Server Address:

enter image description here

Fill Login Info:

enter image description here

Now you have Linked Server:

enter image description here

Write script and enjoy:

enter image description here

J'espère que cette aide.

0
QMaster