关于TEST DACPAC(READY)< =>的比较的类似问题。生产DACPAC两年前打算在SQL Server论坛上部署到生产数据库服务器。
显然这是由MS的某人建议的,不推荐。这仍然相关吗?我们希望自动化部署,使用DACPAC比较实现持续构建和部署。
如果您认为不建议使用DACPAC,请说明原因?你会建议什么?
答案 0 :(得分:2)
将dacpac与dacpac进行比较是可以的,但执行此操作时可能会出现更多问题。例如,“生产dacpac”的目标平台可能与生产数据库的实际平台不同,这可能导致生成的脚本包含在生产服务器上不起作用的T-SQL。或者,“生产dacpac”中指定的数据库选项可能与生产数据库的实际数据库选项不匹配,这可能导致生成的脚本包含无法在生产数据库上运行的T-SQL。
最糟糕的是,“生产dacpac”可能与生产数据库不相同 - 即生产数据库中可能存在一些不在“生产dacpac”中的对象,反之亦然 - 这可能导致在模式或数据丢失等非预期的副作用中。
这就是为什么一般来说,我们建议直接使用生产数据库作为目标来部署或生成部署脚本,而不是使用dacpac进行dacpac比较。
答案 1 :(得分:0)
您还可以将数据库注册为DAC,并且可以在发布代码之前检测漂移。如果检测到漂移,您可以
通过从dev到prod的标准部署过程,您可以使用漂移检测来查看某人是否做了他们不应该做的事情,并且您可以相信环境没有改变。我不建议做dacpac vs dacpac比较。