Pourquoi les outils de données Sql Server ne peuvent-ils pas comprendre les instructions Drop lors de l'import de scripts?

Je charge actuellement un nouveau sqlproj avec des scripts personnalisés qui ont été générés avec RedGate SqlCompare au cours d'un projet que nous adoptons SSDT. Cependant, je trouve, plutôt ennuyeux, que SSDT crache pas mal de choses dans le file ScriptsIgnoredOnImport.

Il semble y avoir quelques solutions pour aider SSDT dans son travail. Par exemple, supprimer les trucs de transaction que RedGate met en place semble aider à sortinger le script. Dans le cas de procs stockés, il semble que changer toutes les commands ALTER PROCEDURE à CREATE PROCEDURE entraîne que SSDT vérifie l'ancien file et l'écrase avec le nouveau, ce que je veux.

Cependant, pour tout ce qui implique une instruction DROP (tables, procédures, quoi que ce soit) je ne peux pas pour la vie de moi get simplement supprimer le file. Et quand il s'agit de nettoyer ~ 1000 objects, je ne peux rien envisager qui implique un effort manuel.

Par conséquent, pour l'instant je suis passé à déchirer le file ScriptsIgnoredOnImport avec powershell et en invoquant tf delete sur chaque ligne qui correspond à une procédure DROP, mais c'est vraiment une solution de mauvaise qualité (sans parler de la lenteur douloureuse).

J'apprécierais vraiment beaucoup comment faire en sorte que SSDT supprime des choses. Est-ce qu'il ne supporte tout simplement pas la suppression d'objects via l'import de script?

Avez-vous essayé de faire un SQL Schema Compare à partir de votre database par rapport au projet? Cela devrait vous permettre de déposer facilement un tas d'objects. (Malheureusement, la suppression d'objects via une import ne fonctionne pas, pas plus que les instructions ALTER.) S'il s'agit d'une tâche ponctuelle, je construirais probablement une database locale, j'exécuterais le script Red-Gate, Projet SQL pour créer / mettre à jour / supprimer des objects. Si cela est en cours, cela nécessitera une solution différente, mais cela pourrait au less vous aider à démarrer.