Si vous allez dans votre base de données dans SSMS et cliquez avec le bouton droit de la souris, sous les tâches devrait être une option pour "Importer des données". Vous pouvez essayer d'utiliser cela. Il s'agit simplement d'un assistant qui crée un package SSIS pour vous, qu'il peut ensuite exécuter automatiquement pour vous ou que vous pouvez enregistrer puis modifier au besoin.
Le gros problème est de savoir comment vous devez transformer les données. Cela va dans beaucoup de détails que vous n'incluez pas (et qui sont probablement trop nombreux pour que vous incluiez ici de toute façon).
Je suis certain que SSIS peut gérer toutes les transformations que vous devez faire pour le passer de l'ancien format au nouveau. Une alternative serait de simplement importer les tables dans MS SQL tel quel dans les tables de transfert, puis d'utiliser du code SQL pour transformer les données dans les tables 3NF. Tout dépend de ce qui vous convient le mieux. Si vous allez sur la deuxième route, le processus d'importation que j'ai mentionné ci-dessus dans SSMS pourrait être utilisé. Il va même créer les tables de destination pour vous. Assurez-vous simplement de leur donner des noms uniques, en les préfixant peut-être avec "STG_" ou quelque chose comme ça.
Davud a mentionné les serveurs liés. C'est certainement une autre façon que vous pouvez aller (et obtenu mon upvote). Personnellement, je préfère d'abord copier les tableaux dans MS SQL, car les serveurs liés peuvent parfois être bizarres, en particulier quand il s'agit de types de données qui ne sont pas mappés entre différents fournisseurs.Avoir les tables toutes en MS SQL sera également probablement un peu plus rapide et gagner du temps si vous devez relancer ou corriger des parties des données. Comme je l'ai dit cependant, la méthode du serveur lié serait probablement bien aussi. SSIS est conçu pour faire ce genre de choses.
Certains ne seraient pas d'accord pour dire que MSSQL est un pas en avant de MySQL.: D –
Certainement le moyen le plus facile à faire. Fonctionne aussi pour obtenir des données dans Access (suppose que n'importe qui voudrait le faire). – Tom
@Kenneth: Je pensais la même chose au début, mais je pense qu'il veut dire passer d'un mauvais design à la normalisation. – Tom