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

Possible de restaurer une sauvegarde de SQL Server 2014 sur SQL Server 2012 ?

Vous NE POUVEZ PAS faites ceci - 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é. Cela est toujours vrai dans SQL Server 2014 - vous ne pouvez pas restaurer une sauvegarde 2014 sur autre chose qu'une autre boîte 2014 (ou quelque chose de plus récent ).

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.

Le mode de compatibilité paramètre contrôle uniquement les fonctionnalités T-SQL qui vous sont disponibles, ce qui peut aider à éviter d'utiliser accidentellement de nouvelles fonctionnalités non disponibles sur d'autres serveurs. Mais ce n'est PAS changer le format de fichier interne pour le .mdf fichiers - ce n'est PAS une solution à ce problème particulier - il n'y a pas de solution pour restaurer une sauvegarde à partir d'une version plus récente de SQL Server sur une instance plus ancienne.