使用 SSDT 部署多个数据库

Deploy multiple databases with SSDT

我们现有的系统在一个 SQL 服务器实例上有多个数据库,我们想使用 SQL 服务器数据工具部署数据库更改。因此,我创建了一个解决方案,每个数据库有一个数据库项目。

当我 运行 构建时,它会为每个项目创建一个 .dacpac 文件。理想情况下,我们希望捆绑数据库更改的部署,以便一次性部署所有数据库。我已经看到数据库项目可以引用其他项目,并且假设您也可以使用这种机制进行捆绑——但我不愿意仅仅为了部署而添加引用。

在一个包中部署多个数据库的推荐方法是什么?

我认为你做不到。默认情况下,每个数据库都有自己的 dacpac。您可以设置一个脚本,可以一次性 build/publish 所有数据库,但它会一次处理一个。我前一段时间创建了一个基本的批处理文件,它将构建所有的 dacpacs 并按顺序发布它们。