11

我有一个带有默认架构和自定义架构的 SQL Server 数据库。因此,例如两个表可能是database.dbo.table1database.customschema.table2

我想将“customschema”保留在源代码控制之下,并且我已将其加载到我的 Visual Studio SQL Server 数据库项目中。

当我使用Tools -> SQL Server -> New Schema Comparison... 实用程序时,它会返回所有数据库模式的差异。

它会将所有“dbo”表显示为在数据库项目中不同/已删除,即使我不打算将它们保留在源代码控制下的项目中。

有没有办法限制结果以显示我的数据库项目与“customschema”对象的实际数据库之间的差异?

4

1 回答 1

0

我会说不。使用 Schema Compare的文档解释了过滤的选项,它只能排除对象的类型

您还可以单击模式比较窗口工具栏中的选项按钮来指定比较哪些对象、忽略哪些差异类型以及其他设置。

ApexSQL 在他们关于数据库比较的页面上也注意到了这一点(强调我的):

Visual Studio Schema Compare 可以在比较之前过滤对象类型(但不是单个对象),而 ApexSQL Diff 通过在 Visual Studio 中打开的 Schema 比较查询窗口没有该选项,而它可以在之后编辑项目并执行一些进一步的操作缩小对象和更详细的过滤

我认为如果您想过滤掉某个模式,您将需要使用不同的工具。我们使用 Redgate 工具(SQL Change Automation、SQL Source Control),它们允许您定义过滤器文件以排除某些对象。

于 2021-09-23T00:22:59.637 回答