Lorsque generating a database upgrade using Sql Server Data Tools's sqlpackage.exe, il est possible que SSDT génère du code pour migrer des données de table, c'est créer une nouvelle table temporaire avec le schéma final souhaité, déplacer les données de la table d'origine dans la nouvelle table, déposer la table d'origine puis Renommez la table temporaire pour qu'elle corresponde au nom de la table d'origine.Existe-t-il une liste complète des causes de SqlPackage.exe pour effectuer des mouvements de données (recréation de table) lors de la mise à niveau d'une base de données?
Ce code dans le script peut être trouvé après l'instruction PRINT N'Starting rebuilding table <tablename>';
.
J'imagine que la plupart des raisons pour cela sont dues au fait qu'il n'y a pas d'instruction DDL atomique pour générer le changement requis par la mise à niveau. J'ai trouvé un list de tels cas pour un autre outil similaire. Cependant j'essaye de trouver une documentation sur quand SSDT effectuera la migration de données/récréation de table, car j'ai vu quelques situations dans lesquelles un DDL serait disponible pour faire le travail, mais SSDT recréerait toujours la table (par exemple, lors de la modification d'un index clusterisé).
Ma question est la suivante: existe-t-il un document où SSDT générera du code pour la migration de données/la recréation de table?