SQL Server Script Execution Order Explained

sql serversql-server-2016

I did Generate Script on a database and got over 1700 scripts. I've sorted them into folders below:

enter image description here

Each folder contains .sql files of that type, for example 06 UserDefinedFunction contains many .UserDefinedFunction.sql files.

I'm going to make a batch script that goes to each folder and runs sqlcmd on every file in that folder.

Does the execution order matter here, and do I have the right order?

Best Answer

The execution order absolutely matters, and you shouldn't change it from what was generated. It is likely you have dependencies in one script on objects that need to be created first from another script. For example, if one of your Stored Procedures use a View then it will fail upon generation because it can't find the View it references. This is why generating scripts puts them in order by dependency instead of object type.

Only in the very rare case where all your scripts don't have dependencies on each other (or your re-ordering is coincendentally in order of dependency still), then you'd be ok.