Ce n'est pas très joli, mais c'est ainsi que je l'ai fait. Si vous avez installé cette option sur votre installation SQL 2008 R2
1) Cliquez avec le bouton droit de la souris sur la base de données dans SQL Server 2008 R2 "Tâches" "Générer des scripts" dans l'assistant, sélectionnez la base de données entière et les objets dans la première étape. A l'étape "Set Scripting Options" vous devriez voir un bouton "Advanced", sélectionnez-le et assurez-vous que vous sélectionnez "script for Server Version" = SQL Server 2008" pas la version R2. C'est une étape cruciale, car "importer des données" en soi n'apporte pas toutes les clés primaires, les constantes et tout autre objet comme les procédures stockées."
2) Exécutez le SQL script généré sur la nouvelle installation ou instance de base de données SQL Express ou SQL Server 2008 en utilisant la fenêtre de requête ou ouvrez le .sql script enregistré et exécutez et vous devriez voir la nouvelle base de données.
3) Maintenant, faites un clic droit sur la nouvelle base de données et sélectionnez "Tâches" "Importer des données " choisissez comme source la base de données R2 et comme destination la nouvelle base de données. "Copier les données d'une ou plusieurs tables ou vues", cochez la case du haut pour sélectionner toutes les tables et ensuite l'étape suivante, exécutez le package et vous devriez avoir tout sur une ancienne version. Cela devrait également fonctionner pour revenir à une version 2005. J'espère que cela aidera quelqu'un.
0 votes
Hmm je ne suis pas sûr que cela soit possible (de la version supérieure à la version inférieure) l'autre option que vous avez est d'exporter les "données" (dans Excel, etc.) de la nouvelle version et de les importer dans l'ancienne version.
2 votes
Vous ne pouvez pas faire cela - ce n'est tout simplement pas possible. Le serveur SQL ne permet pas de "rétrograder" une base de données d'une version supérieure à une version inférieure.
39 votes
Microsoft sait tout sur SQL server (depuis qu'ils l'ont créé) et pourtant déplacer des données entre 2 versions est impossible. Je ne comprends tout simplement pas pourquoi une sorte de mode de compatibilité n'est pas disponible dans l'exportation. Comment cela peut-il être difficile ?
1 votes
@dvdmn aussi difficile que n'importe quel épisode de Top Gear où ils disent cela - différents types, différentes déclarations, différents agencements de blocs. Déplacer des données entre des bases de données est muy facile, quelles que soient les versions concernées. La rétrogradation est cependant no .
2 votes
@PanagiotisKanavos Je ne suis pas d'accord, dans mysql vous pouvez exporter la base de données en tant que commandes sql et vous pouvez la restaurer sur n'importe quelle version de mysql (down ou up). Oui, vous pouvez exporter sql db comme script aussi, mais la restauration n'est pas facile si vous avez quelques fonctions/procédures stockées qui dépendent les unes des autres. C'est fondamentalement pas utile/solution.
4 votes
@dvdmn l'exportation des scripts d'une base de données est complètement différent de la sauvegarde. Je suis conscient que certains produits n'offrent pas de fonctionnalité de sauvegarde/restauration ou pire, confondent les deux concepts. Cela se produit souvent pour des raisons historiques : faute de sauvegarde dans le passé, certains produits appelaient l'exportation/scénarisation par ce nom. Maintenant qu'ils faire ils doivent sans cesse résoudre des conflits de termes, en parlant de sauvegardes physiques et logiques, puis se mélangent lorsqu'ils parlent de scripting.
1 votes
Je suis d'accord, mais cela ne change pas le fait que le système de sauvegarde de sql server n'est pas parfait ou même pas bon dans certains cas. Je m'attendais à quelque chose de mieux compte tenu du prix de la licence. PS : Un peu hors sujet, mais le gestionnaire de connexion est également nul :)
1 votes
Le cynique que je suis pense que c'est un stratagème de Microsoft pour forcer les gens à mettre à jour leur MSSQL. Il semble tout à fait arbitraire que vous ne puissiez pas restaurer une version antérieure dans une version ultérieure ; elles sont toutes deux sur v10, donc ne peuvent pas être radicalement différentes.