locked
Multiple dacpac's in the same database RRS feed

  • Question

  • I am new to Sql Server Data Tools, and have a question.

    At our company we house multiple applications, some share the same database. Doing some testing with publishing dacpac's, it seems like there can only be 1 dacpac tracked at a time.

    So, if I publish a dacpac called "MyApp1" to a database named "MyData", executing the following:

    select * msdb.dbo.sysdac_instances_internal

    Will give me:

    instance_name = MyData
    type_name = MyApp1

    Now, if I publish another dacpac, "MyApp2", to the same database, I lose the initial dacpac installation in the above query. Now I only get the latest one installed.

    Thursday, August 1, 2013 3:00 PM

Answers

  • The sysdac_instances_internal script only records the last successful dacpac install.  Dacpacs have been designed such that it represents one complete database.  If you try multi-dacpacs in one database you'll have to create your own versioning system.
    • Proposed as answer by psirr-MSFT Wednesday, September 4, 2013 8:56 PM
    • Edited by psirr-MSFT Wednesday, September 4, 2013 8:59 PM
    • Marked as answer by psirr-MSFT Tuesday, October 1, 2013 7:57 PM
    Wednesday, September 4, 2013 8:56 PM

All replies

  • After looking at the sysdac_instances_internal, I saw a unique constraint on the instance_name. Is there not a way to manage multiple dacpac deployments on the same database?
    Thursday, August 1, 2013 4:10 PM
  • Anyone?
    Friday, August 2, 2013 1:52 PM
  • The sysdac_instances_internal script only records the last successful dacpac install.  Dacpacs have been designed such that it represents one complete database.  If you try multi-dacpacs in one database you'll have to create your own versioning system.
    • Proposed as answer by psirr-MSFT Wednesday, September 4, 2013 8:56 PM
    • Edited by psirr-MSFT Wednesday, September 4, 2013 8:59 PM
    • Marked as answer by psirr-MSFT Tuesday, October 1, 2013 7:57 PM
    Wednesday, September 4, 2013 8:56 PM