DACPAC and BACPAC

To put it simple,

  • DACPAC – Only Schema
  • BACPAC – Schema + Data (Native BCP format, previously compressed JSON)

A data-tier application (DAC) is a self-contained unit for developing, deploying, and managing data-tier objects. A DAC enables data-tier developers and database administrators to package Microsoft SQL Server objects, including database objects and instance objects, into a single entity called a DAC package (.dacpac file). The BACPAC format extends the DAC package format to include BACPAC-specific metadata and JavaScript Object Notation (JSON)–encoded table data in addition to the standard DAC package contents.

They can be interacted using SSMS, PowerShell and .NET. It is the most used method of backup and restore SQL Azure database.


You can rename either of the packages to a *.zip extension to see the XML content, however it is not the same as unpacking them.

If you have DAC installed on the machine, you can “Unpack” the file by right click contest menu entry.


DACPACs can be extracted through commandline using sqlpackage.exe

e.g. “C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe” /action:Extract /OverwriteFiles:False /tf:”C:\MyTestDB.dacpac” /SourceConnectionString:”Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TailSpinToys;Data Source=SQL2012SERVER”

More info on sqlpackage – http://msdn.microsoft.com/en-us/library/hh550080%28v=vs.103%29.aspx

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s