Не уверен, почему SSMS не учитывает порядок выполнения, но это просто не так. Это не проблема для небольших баз данных, но что, если в вашей базе данных 200 объектов? В этом случае порядок выполнения имеет значение, потому что пройти через все это непросто.
Для неупорядоченных скриптов, созданных SSMS, вы можете следовать
а) Выполнить скрипт (какие-то объекты будут вставлены как-то по обыкновению, будут ошибки)
б) Удалите из скрипта все объекты, которые были добавлены в базу данных
c) Вернитесь к a), пока все в конечном итоге не будет выполнено
Альтернативный вариант - использовать сторонний инструмент, такой как ApexSQL Script, или любые другие инструменты, уже упомянутые в этом потоке (пакет инструментов SSMS, Red Gate и другие).
Все это позаботится о зависимостях за вас и сэкономит вам еще больше времени.