Existe-t-il un moyen de restaurer une sauvegarde de base de données SQL Server 2012 vers un serveur SQL Server 2008?
J'ai essayé de joindre un fichier, cela ne fonctionne pas.
sql-server
sql-server-2008
sql-server-2012
Aaron Bertrand
la source
la source
Réponses:
Vous avez deux options:
Option A : Script de base de données en mode de compatibilité en utilisant l'option Générer un script:
Remarque: Si vous écrivez une base de données avec un schéma et des données en sortie de script, en fonction de la taille de vos données, le script sera volumineux et ne sera pas géré par SSMS, sqlcmd ou osql (éventuellement en Go).
Option B:
Commencez par rédiger en script les tables avec tous les index, les FK, etc., puis créez des tables vides dans la base de données de destination - option avec SCHEMA ONLY (pas de données).
Utiliser BCP pour insérer des données
bcp sur les données en utilisant le script ci-dessous. Définissez SSMS en mode texte et copiez la sortie générée par le script ci-dessous dans un fichier bat.
Exécutez le fichier bat qui générera les fichiers .dat dans le dossier que vous avez spécifié.
Exécutez le script ci-dessous sur le serveur de destination avec SSMS en mode texte à nouveau.
Exécutez la sortie à l'aide de SSMS pour insérer des données dans les tables.
C'est une méthode très rapide, car elle utilise le mode natif.
la source
Some SSIDs and linked servers didn't go across properly
. Les serveurs liés doivent être scriptés manuellement. Les SSID peuvent être transférés à l'aide de sp_helprevlogin. Les tâches SQLAgent, les packages ssis, etc. doivent être déplacés selon vos besoins. Le but de cette méthode est d’obtenir les données aussi rapidement que possible lorsque vous rétrogradez ou fusionnez 2 bases de données.Non, vous ne pouvez pas revenir en arrière, mais en avant. Vous pouvez créer une base de données vide en 2008, puis utiliser l'assistant de génération de scripts de Management Studio pour créer un script du schéma et des données (ou des outils de comparaison tiers de Red Gate et d'autres). Assurez-vous de définir la bonne version cible en 2008 et vous devrez préciser les éléments incompatibles (par exemple, OFFSET ou FORMAT) que vous auriez peut-être utilisés en 2012.
la source
Il n'y a pas de moyen supporté pour cela, car SQL Server n'autorise pas ce type de compatibilité.
Ce que tu peux faire c'est de
restaurer la base de données sur SQL 2012
générer des scripts pour les objets et les données
Si vous ne possédez pas SQL Server 2012, vous pouvez utiliser des outils tiers pour lire les sauvegardes et extraire les données et la structure.
Dans ce cas, créez simplement une base de données vide sur SQL 2008 et utilisez des outils tels que ApexSQL Diff et ApexSQL Data Diff pour synchroniser les objets et les données. Vous pouvez les trouver chez d'autres grands fournisseurs tels que Red-Gate ou Idera.
la source