0

我刚刚将SQL Server脚本与VSTS进行了持续集成。我的Visual Studio 2015数据库项目中有两个脚本文件。在Visual Studio Online中持续集成SQL Server

  • createStudentTable.sql =>简单的创建表脚本
  • Script.PostDeployment1.sql =>:R \ createStudentTable.sql(指着上面的脚本)

现在在Visual Studio中成功构建后,网上突然认识到,也创造了一个.dacpac文件 - 看到这个截图:

enter image description here

现在我的数据库有大约100个表+视图和存储过程。现在这个.dacpac文件是否包含整个模式细节?如果是这样的话,那么在每个构建中携带这个.dacpac将是一个巨大的开销。

请指教。

回答

1

Dacpac文件只包含数据库的架构模型定义,除非你添加所有的INSERT语句中的postdeploymentscript.sql它不包含任何表数据的

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

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

顺便说一句,100桌的规模可以由dacpac很好地处理。

+0

那么,你是什么意思的模式模型?它是不是像所有模式细节的XML内容一样没有实际数据?在我的情况下,dacpac将包含我的100个表和视图/过程的模式信息?任何链接也将有所帮助 – James

+0

https://docs.microsoft.com/en-us/sql/relational-databases/data-tier-applications/data-tier-applications –