1 votes

Puis-je restaurer une base de données SQL 2008 sur un serveur SQL 2005 ?

J'ai une boîte de production avec SQL Server 2008, et je cherche à consolider mon serveur DEV avec un autre qui fonctionne en 2005. Ma question est donc la suivante : existe-t-il des options que je peux définir et qui me permettront de restaurer le dump de production de 2008 sur mon nouveau dev sur SQL 2005 ?

Gracias.

11voto

Warren Blanchet Points 881

Non, vous ne pouvez pas. Les formats de données sont incompatibles. Le mieux que vous puissiez faire est de script la base de données et d'exporter les données. Notez, cependant, que certaines choses (comme certains types de données) qui sont nouvelles pour SQL 2008 feront tourner votre instance 2005.

1voto

Sankar Reddy Points 1374

La réponse simple est NON, vous ne pouvez pas restaurer une sauvegarde SQL Server 2008 sur un SQL Server 2005 ou des versions antérieures.

Voici la réponse détaillée.

Le serveur SQL maintient beaucoup de méta-données sur la base de données (y compris la version qu'elle a été créée) dans le fichier d'amorçage de la base de données principale et ces informations sont lues lorsque vous attachez la base de données au serveur et sont vérifiées par rapport à la version du serveur. Notez que cette version interne est différente de la version du logiciel comme 2000, 2005 & 2008. Lorsqu'une base de données de version inférieure est attachée à une version supérieure (serveur), la version interne de la base de données est immédiatement modifiée et la restauration/attachement se passe bien, mais lorsque vous attachez la base de données de version supérieure à une version inférieure, le serveur SQL échoue à la validation requise. L'une des raisons est que les méta-données et les tables et structures internes du système changent d'une version de SQL Server à une autre et que les versions inférieures ne peuvent pas gérer les structures de la version supérieure.

Vous pouvez vérifier cette information très facilement avec la commande suivante.

DBCC DBINFO AVEC TABLERESULTS

Vous devez rechercher la version dbi_createVersion STRUCTURE DBINFO : DBINFO @0x467BEEE8 dbi_createVersion 655

SQL Server 7.0 : 515 SQL Server 2000 : 539 SQL Server 2005 : 611/612 SQL Server 2008 : 655

http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/07/28/database-version-vs-database-compatibility-level.aspx

Maintenant, pour en venir à la solution, je dois être d'accord avec gbn que vous pouvez installer un SQL Server 2008 côte à côte sur la boîte de dev, bien que ce ne soit PAS trop de problèmes de scripter le schéma / données via SSIS à SQL Server 2005 instance, il n'est pas nécessaire de revenir à une version précédente et surtout vous voulez toujours garder la production et le dev sur les mêmes versions avec les servcie packs aussi, sinon vous pouvez voir des résultats surprenants entre dev et production.

0voto

gbn Points 5979

Comme mentionné, non.

Pourquoi ne pas installer SQL 2008 sur la boîte de développement également afin d'avoir les deux instances SQL 2005 et 2008. Sinon, ce sera un vrai calvaire si vous voulez copier régulièrement la production vers le développement ou utiliser les fonctionnalités de SQL 2008.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X