Les fichiers de base de données créés à l'aide de SQL 2008 ne sont pas compatibles avec 2005. Y a-t-il un problème?
Aucun outil tiers n'est nécessaire. SQL Server 2008 Management Studio nous a donné un outil très puissant pour rétrograder une base de données car ils ont ajouté une option "Données de script" à l'assistant "Base de données de scripts".
Faites simplement un clic droit sur la base de données dans le SSMS SQL2008, et allez dans Tâches, puis "Générer des scripts"
Parcourez l'assistant, assurez-vous de choisir "True" pour "Script Data" sous les options de table/vue. Choisissez tous les objets, puis exécutez le script qu'il crée sur le serveur 2005. (Veuillez garder à l'esprit que le script créé pourrait être massif si la base de données d'origine est très grande!)
Notez que vous pouvez même exécuter l'assistant sur un serveur SQL2005 pour convertir une base de données SQL2005 en SQL2000 (vous auriez besoin des outils 2008 installés sur votre poste de travail, bien sûr).
Vous pouvez BCP les données d'une instance SQL Server vers une autre instance. Ce serait le moyen le plus rapide de copier les données d'une version à une autre. Selon le volume de données, cela peut prendre du temps.
Il n'y a aucun moyen direct, à ma connaissance, de rétrograder une base de données du format de 2008 au 2005 de malheureusement.
La façon dont j'ai fait cela dans le passé (en fait avec les anciennes versions de SQL Server, mais le processus sera le même) est la suivante:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
si vous avez lié les instances de cette façon)Il peut être plus efficace de simplement copier les données en premier et d'ajouter toutes les autres structures (index, procs, déclencheurs, ...) après l'étape 3. Cela évite les problèmes de commande d'insertion de lignes causés par les contraintes et les déclencheurs, et la construction des index au niveau La fin devrait en théorie être plus rapide que de les construire car toutes les données sont ajoutées - bien que si vous avez des index clusterisés sur vos tables, créez-les avant d'ajouter les données car ils ne seraient pas plus rapides à créer après coup.
Bien sûr, tout cela suppose qu'aucun de vos objets n'utilise de fonctionnalités spécifiques à SQL 2008 - s'ils le font, vous pourrez, espérons-le, découvrir et corriger ces choses lorsque des erreurs se produisent lors de la reconstruction du schéma. Si l'un de vos codes repose sur un comportement officiellement indéfini qui varie entre les versions de SQL Server, vous pouvez avoir des bogues beaucoup plus subtils et insaisissables à rechercher et à résoudre plus tard.
J'ai fait face à une situation similaire et j'ai utilisé la publication de base de données Wizard pour créer un schéma de script et des données pour SQL Server 2005 à partir de la base de données SQL Server 2008.
Vous devez d'abord créer un script pour la base de données et vous assurer sur la version que vous spécifiez le type auquel vous souhaitez rétrograder. Et pour copier les données de la version supérieure vers la version inférieure, la comparaison des données SQL vous fera l'affaire.
Bonne chance!