Nie jestem pewien, dlaczego SSMS nie bierze pod uwagę kolejności wykonania, ale po prostu nie. Nie jest to problem w przypadku małych baz danych, ale co, jeśli baza danych zawiera 200 obiektów? W takim przypadku kolejność wykonywania ma znaczenie, ponieważ nie jest łatwo przejść przez wszystkie te elementy.
W przypadku nieuporządkowanych skryptów generowanych przez SSMS możesz śledzić
a) Wykonaj skrypt (niektóre obiekty zostaną wstawione trochę przyzwyczajenie, będą błędy)
b) Usuń wszystkie obiekty ze skryptu, które zostały dodane do bazy danych
c) Wróć do a), aż wszystko zostanie ostatecznie wykonane
Alternatywną opcją jest użycie narzędzia innej firmy, takiego jak ApexSQL Script lub innych narzędzi już wspomnianych w tym wątku ( pakiet narzędzi SSMS, Red Gate i inne).
Wszystko to zadba o Twoje zależności i pozwoli Ci zaoszczędzić jeszcze więcej czasu.