Search code examples
visual-studiosql-server-data-tools

SQL Server Data Tools (SSDT): Difference between Build, Publish, Deploy, and Compare+Update


Can anybody please clarify the difference between build, publish, deploy, and compare+update in SQL Server Data Tools (SSDT) 2012 ?


Solution

  • Build - builds a dacpac file and verifies that everything will work. This means that all references resolve, there are no obvious syntax errors, missing or extra commas, and so on. Generally a successful build means that your database project will work. This should also refresh your local "debug" instance to have a copy of your database against which you can work.

    Publish - This is the act of either creating a script or pushing the project to a database. You'll use this if you want to see a script of all of the changes with the "Generate Script" option or to just automatically update the database.

    Deploy - I don't think this term is used with SSDT SQL Projects, but it should correspond to the Publish command.

    Compare + Update - I think this is only available in your SQL Schema compare command from within the project. It will let you compare a project/database to another project/database. Useful if you want to see all schema changes for the choices you made in the schema compare options.

    I did a series on SSDT on my blog that may be useful to you: http://schottsql.blogspot.com/search/label/SSDT