我们使用 Visual Studio 数据库项目和 SSDT 来版本化和部署我们的 SQL Server 架构。我们将项目编译为 dacpac 文件,然后根据需要使用 SqlPackage.exe 针对 SQL Server (2008 R2) 实例发布该 dacpac。
我们最近从 VS 2013 升级到 VS 2015。有一段时间我们仍在使用旧的 SqlPackage.exe(来自 VS 2013 SSDT)的副本来部署我们的 dacpacs。然而,我们刚让一些新员工开始工作,发现在他们的机器上,使用旧的 SqlPackage.exe 部署 dacpac 失败。(从未安装过 VS 2013 并且缺少 DLL。)我用新的 SqlPackage.exe(和相关文件)替换了旧的 SqlPackage.exe(和相关文件)。dacpacs 现在部署成功。
问题:使用新版本的 SqlPackage.exe 部署 dacpac 不会部署列默认值(例如 NEWSEQUENTIALID())。这显然是不可接受的,但恢复到旧版本的 SqlPackage.exe 会破坏我们一些开发人员的部署。这是 SSDT 的错误还是我不知道的重大更改?是否有一些配置可能设置不正确?