Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用Sql比较忽略默认值_Sql Server_Database_Redgate_Sqlcompare - Fatal编程技术网

Sql server 使用Sql比较忽略默认值

Sql server 使用Sql比较忽略默认值,sql-server,database,redgate,sqlcompare,Sql Server,Database,Redgate,Sqlcompare,我最近下载了RedGate的SQL比较软件的免费试用版。我需要证明它对我的公司来说是一个有用的工具,这样我们就可以得到一些Liscense,但也希望得到一对同步的DB模式。我试图在两个数据库上进行模式比较,但是我得到了一些不需要的行为。当我们对getdate()使用DEFAULT约束时,问题就出现了。Sql Compare将其显示为差异,但实际上是相同的 [lst_updt_dtm] [datetime] NOT NULL CONSTRAINT [DF__event_fil__lst_u__26

我最近下载了RedGate的SQL比较软件的免费试用版。我需要证明它对我的公司来说是一个有用的工具,这样我们就可以得到一些Liscense,但也希望得到一对同步的DB模式。我试图在两个数据库上进行模式比较,但是我得到了一些不需要的行为。当我们对
getdate()
使用
DEFAULT
约束时,问题就出现了。Sql Compare将其显示为差异,但实际上是相同的

[lst_updt_dtm] [datetime] NOT NULL CONSTRAINT [DF__event_fil__lst_u__26667738] DEFAULT (getdate()),
不同于

[lst_updt_dtm] [datetime] NOT NULL CONSTRAINT [DF__event_fil__lst_u__668030F6] DEFAULT (getdate()),
我想忽略这些差异,真正比较模式的变化。我的研究工作让我找到了一些有同样问题的人,但在所有情况下,redgate的回答都是“此功能不存在,将考虑在将来发布”:

然而,我找不到任何关于这个不到5年的信息,所以我希望从那时起,他们已经添加了这个功能

我已经尝试过查看项目选项并对它们进行实验,但似乎没有什么是针对这个问题的。我发现的最接近的东西是:

忽略约束和索引名称
比较数据库时忽略索引、外键、主键以及默认、唯一和检查约束的名称。部署数据库时不会忽略这些名称

当应用此选项时,似乎已解决了问题,其中许多项已从“差异”更改为“相同对象”。但我担心这只是给我一个假阳性。我不想总是忽略约束和关键点

此外,如果我试图用当前版本的Sql Compare实现的目标确实不可能实现,那么我需要一种在报告和部署时忽略这些差异的方法。我想可能会有以下解决办法:

  • 筛选出出现此问题的审核字段,例如
    lst\u updt\u dtm
    archived\u dtm
  • 手动检查并检查出现此问题的项目(请不要强迫我)

  • 忽略约束的名称仅忽略约束的名称。约束上的所有其他特性仍将进行计算。当SQL Server自动生成约束名称时,也可以忽略这些名称,因此,除非SQL Server为您命名约束,否则名称仍会进行比较。

    您不认为这是您应该要求redgate作为其第三方应用程序的事情,并且使用它的人不多,而且redgate技术帮助热线会更乐意向您吹嘘他们的产品:)也许,但我认为这属于支持范畴,他们可能不愿意给我,因为我还不是真正的客户。谢谢你,虽然你是一个潜在客户,但相信我,不仅是红门,任何企业都会优先考虑潜在客户而不是现有客户。他们会非常乐意帮助你:)是的,这是真的,我会试一试。好的,谢谢你的回答。我只是想澄清一下,你说我发现的选项“忽略约束和索引名”将是处理这个问题的正确方法?是的-这将使它停止比较约束名。我接受这一回答,我用来解决这个问题的选项实际上是“忽略系统约束和索引名”。非常感谢。