1 votes

Déplacement/rétrogradation d'une base de données de SQL2008 à SQL2000

Nous avons une base de données qui a été développée en SQL2008. Nous voulons la mettre en production. Malheureusement, notre serveur de base de données de production est SQL2000.
Quelle est la meilleure façon de migrer la BD.

Notez que la base de données est simplement une collection de tables de données qui ont été créées à partir de notre système ERP. Il n'y a pas de procédures stockées ni de déclencheurs, et les données n'ont rien d'extraordinaire. Je ne crains donc pas de rencontrer un problème lorsque la base de données utilise de nouvelles fonctionnalités que 2000 ne peut pas gérer.

TIA

4voto

Warren Blanchet Points 881

Vous devrez exporter les tables et les importer dans la base de données SQL2000, la sauvegarde/restauration ou le détachement/attachement ne fonctionneront pas pour la rétrogradation.

Dans SSMS (pour le db 2008), faites un clic droit sur la base de données et choisissez Exporter... dans le sous-menu Tâches. Suivez ensuite l'assistant pour vous connecter à votre serveur SQL2000.

N'oubliez pas que certains des types de données de SQL2008 ne sont pas compatibles avec SQL2000.

1 votes

Le temps est l'un des types de données qui n'est pas compatible ; je l'ai appris à mes dépens. Leçon apprise : utiliser la même version la prochaine fois.

0 votes

Heureusement, les champs de date semblent être convertis en date et n'affectent pas l'application. Je sais que nous devrions utiliser la même version, mais au départ, il s'agissait d'une question et d'un besoin de rassembler des données dans un format qui nous permettrait d'effectuer des analyses spéciales, juste pour cette fois, et nous avons donc laissé un développeur le faire localement sur son bureau. Maintenant, nous devons donner à d'autres personnes l'accès aux données, donc j'ai dû le déplacer vers le serveur principal. La réponse de Squillman était parfaite.

1voto

JavadocMD Points 1624

Comme l'a dit Squilman, tous les types de données (comme la date) ne sont pas pris en charge par SQL 2000, et si votre base de données utilise des SP ou des fonctions CLR, ce ne sera pas possible non plus.

Je vous recommande d'utiliser Comparaison SQL (il y a une version d'essai disponible) qui devrait vous permettre de comparer et de pousser le schéma à travers. Je ne sais pas si vous pouvez comparer les deux bases de données directement, mais si ce n'est pas le cas, vous devriez être en mesure de vider le schéma de la boîte de développement dans des fichiers, puis de comparer les fichiers au serveur de production qui offre également la possibilité de créer les entités.

Si vous parvenez à recréer le schéma, vous devrez alors transférer les données. Pour cela, vous pouvez soit procéder table par table avec des instructions INSERT en utilisant un serveur lié comme source/destination, soit utiliser SSIS.

Bonne chance !

0 votes

Pas de PS. Juste quelques dates, et je peux vivre en les changeant en dates-temps. L'assistant d'exportation est en cours d'exécution.

0voto

IceMage Points 1326

Pouvez-vous simplement exporter les données de la table SQL ?

Il semble que Microsoft n'a pas beaucoup de soutien pour cela... Surprise ! Ma meilleure hypothèse serait d'exporter autant que possible la base de données SQL 2008 en SQL pur, et d'écrire un script pour créer les tables en SQL 2000 et ajouter les données.

0 votes

En fonction du nombre de tables et du nombre d'index... vous pourriez même vouloir simplement exporter au format .CSV, importer dans SQL2000, puis créer vos index, vos propriétés de champ, etc.

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