1

我有个问题。我习惯使用 Teamcity + Database 项目,该项目能够将数据库部署到所有 DTAP 服务器。我喜欢这种工作方式——它允许我每周在 2 分钟内部署到生产环境。

现在我在一家公司工作,该公司的部署过程涉及 BATCH 脚本和一堆修改脚本。然后有一个表可以跟踪哪些更改脚本应用于数据库并基于该数据库更新。

我建议使用具有特定部署配置的数据库项目,但问题是:我们不允许访问验收和生产服务器。由于我们无法连接到那些,我们无法部署到那些服务器,也不能使用数据库项目生成的 sql 脚本,因为我们无法定义目标数据库。

当然——我们可以得到生产的备份,把它放在某个地方并针对它创建脚本,但这并不方便。

我的问题是:有没有一种优雅的方法来解决这个项目,并使用我不知道的 DB 项目的一些选项创建一个 DB 脚本,而不必知道目标 DB(如果一直存在?),还是说我们无权访问这些服务器只是废话,我们是否应该专注于说服他们允许我们访问?

谢谢。

4

1 回答 1

1

您可以生成 dacpac 并将其从 SSMS 或使用 sqlpackage.exe 命令行部署到目标数据库。

http://msdn.microsoft.com/en-us/library/ee210546.aspx

这会在部署时动态生成部署脚本。

出于兴趣,您使用数据库项目部署来支持现有批处理脚本流程的动机是什么?

于 2013-04-11T19:59:11.840 回答