Comment déplacer une base de données SQL Server 7 vers SQL Server 2012?

8

Je souhaite déplacer une base de données de SQL Server 7.0 vers SQL Server 2012. Elles ne sont pas compatibles pour une sauvegarde et une restauration. Existe-t-il un moyen d'exporter à partir de SQL Server 7.0 et de l'importer vers 2012? Je n'ai besoin que des tables - pas de vues ni de procédures stockées.

xpda
la source
1
La commande detach / attach ne fonctionne-t-elle pas avec l'ajustement du niveau de compatibilité après cela?
msi77

Réponses:

13

Solution 1

Copiez les données à l'aide d'un processus ETL. Cela suppose que vous disposez d'une instance SQL Server 7 en cours d'exécution avec la base de données accessible. Vous avez plusieurs outils à votre disposition, mais l'approche la plus simple que j'ai pu voir est:

  1. Créez un script pour tous les objets SQL Server 7 et créez-les dans SQL Server 2012. Vous devrez peut-être ajuster le script s'il existe une syntaxe spécifique à SQL Server 7.
  2. Utilisez un processus ETL pour copier les données. Quelques alternatives:

    • BCP - Utilisez BCP pour vider chaque table dans un fichier RAW ou texte, puis utilisez BCP pour les charger dans les objets SQL Server 2012.
    • Assistant d'importation / exportation dans SQL Server 2012 - Utilisez l'assistant d'importation / exportation pour créer des tâches de transfert de données.
    • SSIS - C'est essentiellement la même chose que l'assistant d'importation / exportation, mais avec plus de fonctionnalités.

Dans l'ensemble, cela pourrait être un processus fastidieux, mais vous permet de copier des données directement d'une base de données à l'autre. Si vous suivez la route BCP, vous aurez besoin d'un peu de stockage pour les fichiers de vidage, mais cela ne doit pas être un stockage de base de données.

Solution 2

Mettez à niveau la base de données en utilisant une étape intermédiaire de mise à niveau vers SQL Server 2005. Cela suppose que vous avez accès au support SQL Server 2005 et à un serveur sur lequel le tenir debout. SQL Server 7 ne peut pas être mis à niveau vers SQL Server 2008 car ce chemin de mise à niveau n'est pas pris en charge, mais si vous pouvez restaurer la base de données sur SQL Server 2005, vous pouvez ensuite sauvegarder successivement la version de SQL Server 2005 et la restaurer sur SQL Server 2012.

Mike Fal
la source
3
Je recommanderais fortement la solution 2 à la solution 1.
mrdenny
1
C'est ce que j'ai fait, sauf sql 7> 2000> 2008> 2012 car je n'avais pas 2005 disponible.
xpda
1
Je suis d'accord - l'option 2 est certainement le meilleur pari - et regardez cette réponse pour voir certains avantages et inconvénients sur place vs migrer - particulièrement vrai avec quelque chose comme ça. Et félicitations pour avoir quitté la version 7.0! ;-)
Mike Walsh