【问题标题】:Can I exclude a custom schema from a Schema comparison in SSDT?我可以从 SSDT 中的模式比较中排除自定义模式吗?
【发布时间】:2015-04-16 02:50:23
【问题描述】:

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

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

【问题讨论】:

  • 如果您使用的是 VS 数据库项目,则运行模式比较,切换到模式分组,然后从那里轻松排除模式。如果你保存你的模式比较文件,你可以适当地重复使用

标签: schema sql-server-data-tools schema-compare


【解决方案1】:

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

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

/p:BlockWhenDriftDetected=False

默认设置为 true。

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

http://agilesqlclub.codeplex.com/

埃德

【讨论】:

  • 如何忽略临时模式?我在选项选项卡中没有看到模式排除复选框
  • 没有,需要使用这个扩展,ssdt产品中没有内置
猜你喜欢
  • 2016-02-05
  • 2013-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 2020-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多