2009-09-02 7 views

Répondre

2

Vous pouvez utiliser SSIS pour copier sur les données de la table à la nouvelle structure, mais c'est la partie facile. Ensuite, vous devez vérifier tout votre code SQL pour vous assurer qu'il fonctionnera toujours. Ce lien peut aider à voir les différences entre la façon dont chacune des bases de données implémente SQL http://troels.arvin.dk/db/rdbms/

Lors de la conversion, vous pourriez considérer que le meilleur moment pour faire du refactoring n'est pas le moment. La pièce maîtresse de la conversion est de s'assurer que tout est automatisé et reproductible. Vous allez vouloir faire cela plusieurs fois en dev avant de passer aux données prod. Et quand vous allez à prod, vous aurez besoin de prendre la base de données pour maintenance ou vous finirez par avoir des données ajoutées à l'ancienne base de données après avoir déplacé les données de cette table vers la nouvelle. Vous pouvez même créer le processus pour copier la majeure partie des rcords avant la fenêtre de maintenance, puis pendant la fenêtre de maintenance, déplacer uniquement les nouveaux enregistrements ou enregistrements qui ont été modifiés depuis le déplacement principal. Cela dépendra de la taille de votre base de données et de la durée de votre déplacement. Si cela peut être fait en une seule étape sans être plus longtemps que ce que votre système peut tolérer, il est préférable de le faire. Un autre choix pour une grande base de données pourrait être un transfert de données client par client, de sorte qu'au lieu d'être en panne pour tout le monde pendant une journée complète, vous êtes seulement en panne pendant quelques heures par client. Encore une fois, cela dépend de la conception de votre base de données et de la façon dont cela peut être possible de configurer et de faire. Quoi que vous fassiez, assurez-vous que les utilisateurs sont pleinement conscients de ce que vous faites et à l'avance afin qu'ils puissent planifier. Évitez également les périodes du mois pour le changement qui coïnciderait avec la nécessité que la base de données soit opérationnelle - je pense à ne pas fermer la base de données de paie le jour où la paie fonctionne ou la base de données financière à la fin de les tâches de l'exercice financier doivent être effectuées ou des rapports mensuels doivent être exécutés, etc. Je ne sais pas si vous avez un de ces problèmes, mais il est bon de considérer si vous faites et contournez ces périodes. Si les utilisateurs disent: «Non, nous ne pouvons pas le faire le vendredi», alors découvrez pourquoi - ils peuvent avoir une très bonne raison pour laquelle le jour que vous choisissez de mettre en œuvre est mauvais pour leurs propres horaires de travail.