Visual Studio 2013 具有允许在 SSDT 项目和目标数据库之间执行数据比较的功能。
根据 SO 上的另一篇文章,执行这种比较有一定的要求。
考虑到这些要求,我想做这样的事情作为我们构建和部署过程的一部分:
- 将任何 DB 架构更改发布到目标数据库,以确保源和目标具有完全相同的表、列、SP 等,以符合上面链接中提到的要求
- 运行数据比较并生成更新脚本,或将源数据库中的任何更改直接发布到目标数据库
目前,我有一个脚本可以处理项目符号号。1 通过sqlpackage.exe使用 DACPAC 进行架构比较。不过,看起来不可能使用 sqlpackage 执行数据比较,而且我还没有找到任何其他替代方案。在 VS 2010 中,可以通过命令窗口运行数据比较,但我在 VS 2013 中没有看到任何关于此的文档...
因此,我的问题是是否存在允许数据比较通过例如 Powershell 脚本以编程方式运行的 API 和/或其他工具。