我可以从 SSDT 中的架构比较中排除自定义架构吗?

Can I exclude a custom schema from a Schema comparison in SSDT?

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

我的问题是,有没有一种方法可以从架构比较中排除 'temp.' 架构之外的 table?

您的部署情况如何?当我测试时,我使用 sqlpackage.exe 发布了一个 dacpac 并坐在那里不断创建新表并且它部署时没有抱怨。

但是,您可以做几件事,第一个是在检测到偏差时停止让部署停止:

/p:BlockWhenDriftDetected=False

默认设置为真。

第二件事是忽略临时模式,但我认为这不会有帮助,除非你也停止漂移,但你可能想使用这个过滤器来停止对临时模式的所有更改:

http://agilesqlclub.codeplex.com/

埃德