【发布时间】:2017-01-06 13:30:55
【问题描述】:
我正在使用 RedGate SQL Compare 11.6 来比较两个 SQLServer 2016 数据库。
问题是,比较结果包括具有相同列但顺序不同的表。我想排除这个。有没有办法做到这些?
RedGate 的支持论坛和帮助文档说“默认行为是忽略这些差异”,但它似乎不是那样工作的。
【问题讨论】:
标签: redgate red-gate-data-compare
我正在使用 RedGate SQL Compare 11.6 来比较两个 SQLServer 2016 数据库。
问题是,比较结果包括具有相同列但顺序不同的表。我想排除这个。有没有办法做到这些?
RedGate 的支持论坛和帮助文档说“默认行为是忽略这些差异”,但它似乎不是那样工作的。
【问题讨论】:
标签: redgate red-gate-data-compare
默认情况下它不比较列顺序。为了验证这一点,我使用 SQL Server 2016 & Compare 11.6 以这种方式设置了一个测试:
USE Test;
GO
CREATE TABLE dbo.Order1 (
ID INT,
NotID TINYINT,
SomeValue VARCHAR(50)
);
GO
USE Test2;
GO
CREATE TABLE dbo.Order1 (
SomeValue VARCHAR(50),
ID INT,
NotID TINYINT
);
GO
如果您在顶部注明,它表示有 24 个相同的对象。这两个表算作相同的。但是,比较确实注意到列顺序不同。有一个选项可以设置“强制列顺序”来改变这种行为。启用后,您会从比较中看到:
这可能就是您所看到的。检查比较项目上的选项。
【讨论】: