Sfortunatamente, l'unico modo semplice e veloce per creare uno script di questo tipo è utilizzare alcuni strumenti di terze parti. Stiamo utilizzando Script Apex ma ci sono anche altri strumenti là fuori e Red Gate probabilmente ha una sua versione di questo.
Altre opzioni sono:
- Eseguire lo script molte volte fino a quando non viene eseguito tutto
- Cercare di creare da soli l'ordine corretto utilizzando sys.dependencies che potrebbe non funzionare sempre
- Inventare il tuo algoritmo di dipendenza che è eccessivo...
Si è verificato un bug nelle visualizzazioni delle dipendenze di sistema nelle versioni precedenti di SQL Server. Ricordo di averlo letto quando SQL 2008 stava per essere rilasciato.
Non ricordo tutti i dettagli, ma riguardava le dipendenze che non funzionavano correttamente quando gli oggetti venivano rilasciati e ricreati.