J'ai une base de données sur une instance SQL Sever 2012 que je voudrais copier sur un serveur 2008. Le serveur 2008 ne peut pas restaurer les sauvegardes créées par un serveur 2012 (j'ai essayé).
Je ne trouve aucune option en 2012 pour créer une sauvegarde compatible 2008. Suis-je en train de manquer quelque chose?
Existe-t-il un moyen facile d'exporter le schéma et les données vers un format indépendant de la version que je peux ensuite importer en 2008?
La base de données n'utilise aucune fonctionnalité spécifique à 2012. Il contient des tables, des données et des procédures stockées.
Voici ce que j'ai essayé jusqu'à présent
J'ai essayé Tâches → Générer des scripts sur le serveur 2012 et j'ai pu générer le schéma (y compris les procédures stockées) en tant que script SQL. Cependant, cela n'a inclus aucune des données.
Après avoir créé ce schéma sur ma machine 2008, j'ai pu ouvrir l'assistant "Exporter les données" sur la machine 2012, et après avoir configuré 2012 comme machine source et 2008 comme machine cible, on m'a présenté une liste de tableaux que j'ai pourrait copier. J'ai sélectionné toutes mes tables (300+) et j'ai cliqué sur l'assistant. Malheureusement, il passe beaucoup de temps à générer ses scripts, puis échoue avec des erreurs comme «Échec de l'insertion dans la colonne en lecture seule« FOO_ID »».
J'ai également essayé le "Copier l'assistant de base de données", qui prétendait pouvoir copier "de 2000 ou plus tard à 2005 ou plus tard". Il a deux modes:
"Détacher et attacher", qui a échoué avec une erreur:
Message: Index was outside the bounds of the array. StackTrace: at Microsoft.SqlServer.Management.Smo.PropertyBag.SetValue(Int32 index, Object value) ... at Microsoft.SqlServer.Management.Smo.DataFile.get_FileName()
Méthode d'objet de gestion SQL qui a échoué avec une erreur
Impossible de lire la propriété IsFileStream. Cette propriété n'est pas disponible sur SQL Server 7.0. "