Redgate SQL 比较 - 如何忽略列顺序的差异?

Redgate SQL Compare - How to ignore differences of Column order?

我正在使用 RedGate SQL 比较 11.6 来比较两个 SQLServer 2016 数据库。

问题是,比较结果包括具有相同列但顺序不同的表。我想排除这一点。有没有办法做到这些?

RedGate 的支持论坛和帮助文档说 'Default behavior is to ignore such differences' 但它似乎不是那样工作的。

默认情况下它不比较列顺序。为了验证这一点,我使用 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 个相同的对象。这两个表算作相同。但是,比较确实注意到列顺序不同。您可以设置一个选项 "Force Column Order" 来更改此行为。启用后,您会从比较中看到这一点:

这可能就是您所看到的。检查比较项目上的选项。