web-dev-qa-db-fra.com

Restaurer la base de données SQL Server 2008 * en * SQL Server 2005

Je me suis un peu embrouillé ici ... travaillant sur un projet de système de gestion de contenu (CMS), en supposant que le serveur SQL 2008 était considéré comme la base de choix. Eh bien, ce n’était pas le cas. Nous devons maintenant transférer tout notre contenu dans SQL Server 2008 et dans SQL Server 2005. 

Une procédure simple de sauvegarde/restauration donne: "RESTORE HEADERONLY se termine anormalement. (Microsoft SQL Server, Erreur: 3241)". 

Malheureusement, l'exportation des données vers une feuille de calcul Excel génère plusieurs erreurs OLE qui, à mon avis, constituent un problème dans la base de données de cms. 

Est-ce que quelqu'un a d'autres approches à recommander pour cette tâche? Merci d'avance

21
Keith Fitzgerald

Utilisez RedGate :

outil de comparaison et de déploiement du contenu de la base de données SQL Server.

Vous pouvez utiliser des bases de données actives, des sauvegardes ou des scripts SQL dans le contrôle de source. Les données endommagées ou manquantes peuvent être restaurées sur une seule ligne, sans nécessiter de récupération complète de la base de données.

SQL Data Compare vous aide à comparer et déployer des modifications rapidement, simplement et sans erreur ...

15
Otávio Décio

Il n'y a aucun moyen de faire cela par défaut. Vous pouvez générer des scripts pour la base de données 2008 sur le serveur 2008, puis les exécuter sur la version 2005. Notez que vous devrez examiner manuellement les scripts et supprimer toutes les pièces uniques à la version 2008. 

Une autre méthode consiste à utiliser des outils tiers tels que Red Gate ou ApexSQL Diff (déplacer le schéma) et ApexSQL Data Diff (déplacer les données). 

9
LarryB

Utilisez Generate SCripts pour créer la base de données et le schéma et vous assurer de cibler les données de script et SQL Server 2005.

6
Glory_techies

Plutôt que de faire une sauvegarde et une restauration, essayez d’utiliser l’assistant d’importation/exportation de données de SQL 2005.

http://support.Microsoft.com/default.aspx?scid=kb;en-us;314546

http://msdn.Microsoft.com/en-us/library/ms140052(SQL.90).aspx

5
Jeremy

Je viens de frapper le même problème et voici comment j'ai résolu ce problème.

Le problème consistait à copier une base de données d'une base de données SQL Server 2008 opérationnelle vers une nouvelle base de données SQL Server 2005.

J'ai scripté la base de données à l'aide de Management Studio sur le serveur 2008. J'ai uniquement écrit le design de la base de données, pas les données. Je devrais également ajouter que la base de données ne contient que des tables et des index, je ne l'ai donc pas essayée avec des objets plus intelligents, même si je ne vois pas pourquoi ils ne fonctionneraient pas.

Sur le serveur 2005, j'ai créé manuellement une nouvelle base de données, puis exécuté le script pour configurer toutes les tables et tous les index.

De retour dans Management Studio sur le serveur 2008, j'ai utilisé l'assistant d'exportation de données pour exporter les données du serveur 2008 vers le serveur 2005. Il fonctionne actuellement et semble très heureux de pouvoir déplacer les données.

Une fois que toutes les données auront été transmises, il me restera quelques petites choses à faire: créer les utilisateurs et configurer la sécurité dans la base de données 2005, mais dans l'ensemble, cela ne semble pas être une mauvaise façon de procéder. il. Ce n'est pas tout à fait pointer-cliquer mais ce n'est pas trop fatigant.

Il semble donc que l'assistant de copie de base de données ne fonctionne pas (je pense parce que le paquet fonctionne finalement sur le serveur 2005 et que Management Studio ne peut pas parler à 2008), mais l'assistant d'exportation de données permet de déplacer des données ... aussi longtemps car la base de données existe déjà sur le serveur cible.

J'espère que c'est utile.

4
Steve

Il n'est pas possible de restaurer des versions précédentes dans SQL Server

N'y a-t-il pas de sauvegarde SQL 2005 autour? Sinon, vous êtes vraiment limité à exporter la totalité de la base de données en 2008 et à la réimporter en 2005, ou à l'assistant d'importation/exportation en 2008.

Ou utilisez des outils tiers. par exemple. Red Gate Data Compare est capable de se synchroniser. les DONNÉES entre 2 serveurs/bases de données

1
jerryhung

J'utilise uniquement mysql mais pouvez-vous exporter vos données dans des instructions SQL, puis les importer dans SQL 2005? Juste une pensée..

0
SonnyNoBucks

J'ai rencontré un problème similaire (sql 2005 à sql 2000) et j'ai constaté que j'avais une base de données vierge à l'ancienne version. J'ai utilisé BCP.exe pour copier toutes les données.

0
Joshua

vérifiez ce lien cliquez ici Vous pouvez créer le script de base de données dans SQL Server 2008 et vous pouvez l'utiliser (SQL Server 2005 et versions antérieures).

0
karthi