22

In Visual Studio 2012 we have new project type called SQL Server Database Project and when compiled will create a .dacpac output file.

A Google for this term will link it with Data-tier Application but I cannot link this name with D A C P A and C?

What does dacpac stand for?

TylerH
  • 20,799
  • 66
  • 75
  • 101
Nam G VU
  • 33,193
  • 69
  • 233
  • 372
  • 4
    I think `DAC package`! have a look [Data-tier Applications](http://technet.microsoft.com/en-us/library/ee210546.aspx) – huMpty duMpty Dec 09 '13 at 13:11
  • http://msdn.microsoft.com/en-us/library/ff678491%28v=vs.100%29.aspx#build – Hans Passant Dec 09 '13 at 13:18
  • @duMpty Please make your comment an answer to get accepted. DAC stands for Data-tier application would make more sense – Nam G VU Dec 09 '13 at 13:51
  • 3
    The nonsensical part is that DAC stands for Data-tier Application. Various unauthoritative sources claim this abbreviation was chosen because DTA was already reserved to refer to the Database Engine Tuning Advisor. – Brian Jul 10 '15 at 14:50
  • @Brian according to MS that's not quite right, they say "You can “birth” a Data Tier Application in two places. In both cases, something called a DAC – or Data Application Component – is created. It’s a file with the payload of the the major parts of the structure of the database and so on. that’s the “package” you use to transfer the DTA around.". More on that and the reuse of acronyms in my answer below. – tomRedox Jan 10 '23 at 10:37

3 Answers3

20

In the article 'It’s Data Tier Application and Data Application Component' from December 23 2009 Microsoft's Buck Woody states DAC stands for:

  • Data Application Component

And he also talks about the result as a package, so it seems reasonable to surmise:

  • The PAC part probably refers to package.

This is the relevant quote (relevant part in bold, my emphasis):

OK – In SQL Server 2008 R2 we did “re-use” an acronym or two (DAC and DTA), but it’s important to remember there are actually two parts to this new feature. One is the Data Application Component (DAC) and the other is the Data Tier Application (DTA). The DAC is the file created for a DTA.

In SQL Server 2008R2 and Visual Studio you’ll find there is a new way to write and transfer database code. I’ll blog about it more as I finish my testing, but the process works kind of like this…

You can “birth” a Data Tier Application in two places. You can create a new project type in Visual Studio where the developer can create the database structure, put all of the policies that they want to enforce and so on there. The DBA can also right-click a database and make a Data Tier Application out of a current structure.

In both cases, something called a DAC – or Data Application Component – is created. It’s a file with the payload of the the major parts of the structure of the database and so on. that’s the “package” you use to transfer the DTA around.

From there, you right-click in the “Data Tier Application” node in SQL Server Management Studio on another Instance and “Deploy” the Data Tier Application. It will build the database for you and keep it together as a DTA. You can make changes in the “originating” system or code, and then “upgrade” the Data Tier Application.

So there you have it. It’s DTA and DAC – but I think you’ll know the difference when the time comes to use one…

This InfoWorld article suggests a slight variation on the above, stating that the DACPAC part stands for:

  • Data-tier Application Component PACkages.
tomRedox
  • 28,092
  • 24
  • 117
  • 154
  • 1
    what's **b** in **bacpac** stands for? backup? – Kevin Xiong Sep 18 '19 at 10:26
  • 1
    @KevinXiong I've always assumed so, but I don't think I've ever seen an explanation written down. The primary purpose of the bacpac is moving a whole database from one place to another, so I think the play on words with "backpack" (with a backpack being something that contains everything when you're travelling) was probably key too. – tomRedox Sep 18 '19 at 11:13
15

DAC stands for Data-tier Application

PAC stands for package

So to my thoughts, DACPAC stands for Data-tier Application package

Nam G VU
  • 33,193
  • 69
  • 233
  • 372
5

First off: read this.

dacpac is a Data-tier application. More concretely, it is the file that gets created when you build a SQL Server Database Project. It contains all of the information necessary to build the db objects specified in your SQL DB project.

Aaron Palmer
  • 8,912
  • 9
  • 48
  • 77
  • 1
    Thank you for your clear explanation on what is DACPAC. I asked for the ancronym though. Thanks anyway – Nam G VU Dec 10 '13 at 01:28