Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Puis-je utiliser un fichier .mdf avec plusieurs SGBD (SQL Server 2008 et 2012) ?

Vous pouvez aller vers le haut - d'une ancienne version à une plus récente, par ex. vous pouvez sauvegarder votre base de données dans 2008 R2 et restaurer cette sauvegarde dans votre instance 2012 - mais vous NE POUVEZ PAS attacher/détacher ou sauvegarder/restaurer une base de données à partir d'une version plus récente de SQL Server vers une ancienne version - les structures de fichiers internes sont tout simplement trop différentes pour prendre en charge la rétrocompatibilité.

Aussi :depuis les structures de fichiers internes du .mdf sont très différents et spécifiques à chaque version de SQL Server, vous ne ferez PAS pouvoir utiliser le même .mdf à partir de deux versions différentes de SQL Server. Cela ne fonctionnera certainement pas.

Vous pouvez soit contourner ce problème en

  • en utilisant la même version de SQL Server sur toutes vos machines - vous pouvez facilement sauvegarder/restaurer les bases de données entre les instances

  • sinon, vous pouvez créer les scripts de base de données pour la structure (tables, vue, procédures stockées, etc.) et pour le contenu (les données réelles contenues dans les tables) soit dans SQL Server Management Studio (Tasks > Generate Scripts ) ou à l'aide d'un outil tiers

  • ou vous pouvez utiliser un outil tiers comme SQL de Red-Gate Comparer et Comparaison de données SQL pour faire des "différences" entre votre source et votre cible, générer des scripts de mise à jour à partir de ces différences, puis exécuter ces scripts sur la plate-forme cible ; cela fonctionne sur différentes versions de SQL Server.