SQL 服务器在 Visual Studio 线上的持续集成

Continuous Integration of SQL Server in Visual Studio Online

我正要对 SQL 服务器脚本与 VSTS 进行持续集成。我的 visual studio 2015 数据库项目中有两个脚本文件。

现在在 visual studio 在线成功构建后,我突然意识到还创建了一个 .dacpac 文件 - 看这个截图:

现在我的数据库有大约 100 个 tables + 视图和存储过程。现在这个 .dacpac 文件是否包含整个架构详细信息?如果是这样,那么在每次构建时携带这个 .dacpac 将是一个巨大的开销。

请指教

Dacpac 文件仅包含数据库的架构模型定义,不包含任何 table 数据,除非您在 postdeploymentscript.sql

中添加所有插入语句

dacpac 的开销是它在实际部署发生时比较 dacpac 中的模型和您的目标数据库。

这是一个权衡。如果您不使用 dacpac,那么您最终将自己手动完成所有数据库版本和版本迁移,或者使用其他工具来使用 ALTER 语句使这些数据库更改管理更容易一些。

顺便说一句,dacpac 可以很好地处理 100 table 的比例。