DACPAC format has been developed by Microsoft as portable desciptor of such entries as tables, constraints, views, etc to simplify deployment and management of SQL Server databases. For example, a developer creates MS SQL database, scripts desctiption of all important objects into DACPAC and shares it with database administrators or another team members. They can easily deploy DACPAC via SQL Server Management Studio to a test or production instance of SQL Server or Azure SQL Database.
DACPAC format inherits XML with predefined number of sections storing details of the database origin, objects in the database and information. Database professionals can unpack the file using the DacUnpack.exe utility that comes as a part of SQL Server distribution and carefully explore each section of the storage.
Here is example of table description inside a DACPAC:
<Element Type="SqlTable" Name="[dbo].[Categories]"> <Property Name="IsAnsiNullsOn" Value="True" /> <Relationship Name="Columns"> <Entry> <Element Type="SqlSimpleColumn" Name="[dbo].[Categories].[CategoryID]"> <Property Name="IsNullable" Value="False" /> <Property Name="IsIdentity" Value="True" /> <Relationship Name="TypeSpecifier"> <Entry> <Element Type="SqlTypeSpecifier"> <Relationship Name="Type"> <Entry> <References ExternalSource="BuiltIns" Name="[int]" /> </Entry> </Relationship> </Element> </Entry> </Relationship> </Element> </Entry> <Entry> ... </Entry> </Relationship> <Relationship Name="Schema"> <Entry> <References ExternalSource="BuiltIns" Name="[dbo]" /> </Entry> </Relationship> </Element>
DACPAC storages address the requirements of different specialists since it can simplify wide range of database management tasks:
Specialists of Intelligent Converters explored features of DACPAC as unversal description of meta data for popular database management systems: MySQL, PostgreSQL and Oracle. After validation succeeded they build number of tools and scripts for miscellaneous cross-database schema manipulation tasks. If you have a project requiring automation of upgrade, deployment, synchronization of changes or any similar database management tasks, contact us for solution.