SSDT database projects were not always going to output T-SQL…

Interesting the stuff you pick up from reading forums…

“The BATCH seperators [in SSDT deployment scripts] are used to provide scoping when resolving object shapes. SSDT or VSDB scripts for that matter serve a different purpose, they provide the blueprint of the model you want, and do not represent how it will be used to construct the target site. We choose TSQL as our DSL, at first we wanted to use a different representation, but user research in 2005 told us loud and clear users wanted to use TSQL as their DSL. In order to make the compiler work, we had to impose some simplifications, one is a more frequent use of BATCH seperators to indentify object scopes.”

Comments

Well the XML is just the definition of the model - they take that model, compare it to the target, and build a script that makes the target schema look like that which is defined in the model. In other words, there is a lot of work goes on *after* the dacpac is produced to determine what actions are to be taken.

There still needs to be some sort of API for applying that to the DB - the post above states that that API is T-SQL.