DACPAC的用例

时间:2017-11-08 08:56:11

标签: sql-server azure-sql-database

SQL Server DACPAC是数据库的仅架构版本。 我的理解是,这使得部署数据库变得更加容易。

根据我的经验,一个数据库,即使没有跨国数据也很少是空的,总有参考数据,没有这些参考数据,数据库就无法运作。

我发现,由于无法存储数据,因此DACPAC的用例非常少,因此我通常使用.bak或BACPAC。

我没有注意到DATPAC文件有更大的用例吗?

2 个答案:

答案 0 :(得分:3)

DACPAC只是另一种工具。有些人可能只希望部署架构。 DACPAC使这成为可能。在情境上你可能永远不会使用它,但其他人可能会。如果您只部署存储过程更改,该怎么办?无需BACPAC,DACPAC将满足这一需求。它只是在要求范围内工作。如果它不适合您,则永远不必使用DACPAC,但这同样适用于BACPAC或SQL Server或Azure SQL数据库中的任何其他机制。

答案 1 :(得分:1)

Dacpac文件可以包含与bacpac文件相同的数据。要获取所有表数据,您可以使用:

sqlpackage.exe /a:extract /p:ExtractAllTableData=true

要获取特定表的表数据,您可以使用:

sqlpackage.exe /a:extract /p:TableData=dbo.table1 /p:TableData=dbo.table2

最后,dacpac文件支持部署后脚本,可以包含合并语句。因此,您可以将引用数据转换为合并语句,并将它们放入部署后的脚本中。