SQL Server DACPAC是数据库的仅架构版本。 我的理解是,这使得部署数据库变得更加容易。
根据我的经验,一个数据库,即使没有跨国数据也很少是空的,总有参考数据,没有这些参考数据,数据库就无法运作。
我发现,由于无法存储数据,因此DACPAC的用例非常少,因此我通常使用.bak或BACPAC。
我没有注意到DATPAC文件有更大的用例吗?
答案 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文件支持部署后脚本,可以包含合并语句。因此,您可以将引用数据转换为合并语句,并将它们放入部署后的脚本中。