J'ai deux bases de données MSSQL 2008 dbA et dbB, dbA contient une paire de tables maître-détail: AMaster, ADetail. Correspondant il dbB contient également BMaster et BDetail. La seule différence entre A et B est le type de clé primaire. Dans la base de données source (dbA), il est entier mais dans la destination (dbB) il est uniqueidentifier. Chers collègues, comment décrire le flux de données dans SSIS pour convertir ce cas? J'ai besoin de convertir tous les champs, mais le remplacer par un nouveau type de clé.Migration maître-détail dans SSIS 2008
Répondre
Si vous ne souhaitez pas stocker la clé primaire naturelle dans la destination, comment gérez-vous les mises à jour? Comme si un enregistrement est modifié dans la source et que vous voulez répliquer un changement correspondant dans la table de destination, comment allez-vous le faire, je veux dire que ce n'est pas logiquement possible. Soit vous devrez conserver la clé naturelle basée sur un nombre entier dans la table de destination, soit vous devrez conserver une table de mappage qui stocke l'ancienne clé naturelle et les nouvelles informations de mappage de clé correspondantes.
Et UID est beaucoup plus grand nombre et je ne pense pas que la conversion de l'entier en UID est une bonne option. Si vous voulez vraiment le faire, faites comme ça. INT >> STRING HEX >> UID. Vérifiez plus sur UID ici [http://msdn.microsoft.com/en-us/library/ms187942.aspx]
Merci de votre réponse, mais votre réponse contient plus de questions que de réponses. Heureusement, SSIS contient un bloc SQL pur, donc les détails du maître peuvent être analysés dans exactement 3 requêtes à l'aide de la table temporaire. – Dewfy
vous devriez envisager de bien cadrer votre question. Le titre que vous avez donné est un peu trompeur – Faiz