【发布时间】:2019-05-24 08:58:41
【问题描述】:
我正在尝试使用 Jenkins 自动化现有的 sql server 数据库部署自动化。
实现自动化的方法之一是使用 Visual Studio 在 SQL Server 数据库项目中包含 SQL 脚本(存储过程、视图、表创建)。使用 MSBuild 构建项目并使用 SQLPackage.exe 部署 dacpac。但是,现有数据库引用了存储过程/视图中的其他数据库,因此我在 SQL Server 数据库项目中导入了其他数据库。此外,在提取现有数据库的 dacpac 时,我遇到了很多错误。我认为这是由于现有代码不兼容 dacpac,可能需要更改才能兼容 dacpac。
除了使用 SQL Server 数据库项目之外,还有其他方法可以自动化 SQL Server 代码部署吗?
【问题讨论】:
-
这可能是一个广泛的问题,但我需要一个起点来寻找不同的选择。我认为这对正在寻找类似选择的其他人会很有用。
-
我在这里写了一篇博客:schottsql.com/all-ssdt-articles - 查找“外部参考”文章。我最终将 dacpacs 用于外部数据库引用。仍然需要清理代码以删除当前数据库的 3 部分名称,但它往往会起作用。然后我们可以构建/部署没有太多麻烦。 -- 可能也值得关注 Red-Gate 的产品,但外部参考可能仍然会给您带来麻烦。
标签: sql-server continuous-integration sql-server-data-tools continuous-deployment