2

我们有一个非常动态的 SQL 服务器数据库,它总是从一个名为“temp”的自定义模式中创建新表并删除现有表(我们有一个 dbo 模式和一个临时模式)。我们还使用 SSDT 来维护和监控架构中的更改,但我们无法在架构比较中使用更新功能,因为如果在进行架构比较之后和尝试更新之前创建了一个新表(比如 temp.MyTable) , SSDT 使模式比较无效,因为某些内容发生了变化。目前,我们唯一的解决方案是在午夜左右运行模式比较,此时系统活动实际上不存在,但对于必须进行模式比较的人来说并不理想。

我的问题是,有没有一种方法可以从模式比较中排除“临时”之外的表。架构?

4

1 回答 1

1

你是如何进行部署的?当我测试时,我使用 sqlpackage.exe 发布了一个 dacpac 并坐在那里不断地创建新表,并且它毫无怨言地部署。

但是,您可以做几件事,首先是在检测到漂移时停止让部署停止:

/p:BlockWhenDriftDetected=假

默认情况下设置为 true。

第二件事是忽略临时架构,但我认为这不会有帮助,除非您也停止漂移,但您可能希望使用此过滤器来停止对临时架构的所有更改:

http://agilesqlclub.codeplex.com/

埃德

于 2015-04-16T07:43:34.847 回答