问题标签 [sqlcompare]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15064 浏览

sql - Red Gate的sql比较时出现错误“命令文本属性尚未初始化”

当我将 2 个数据库与 Red Gate 的 SQL 进行比较时,就会出现错误。“ExecuteReader:CommandText 属性尚未初始化”

我正在使用 SQL server 2012 express 和 Red Gate 的 SQL Compare 8

有什么解决办法吗?

谢谢,

0 投票
1 回答
360 浏览

.net - SQLCompare SDK 使用多个默认选项

我想使用 SQLCompare 作为项目的一部分来生成用于升级数据库的脚本。当我去注册数据库时,我有一组选项应该包括在内,但我不知道如何组合这些选项。我想发送的不仅仅是默认选项。

基本目标:

我尝试使用加号options = options + Optins.IgnoreWhiteSpace
和逻辑或options = options OR Optins.IgnoreWhiteSpace
但我收到错误消息,指出该运算符对 RedGate.SQLCompare.Engine.Options 类型无效。

根据我在网上找到的内容(例如这里:http ://sdk.red-gate.com/index.php/Selecting_Objects_to_Synchronize#VB ),我正在做的事情应该有效。

我包含了对9.5.0.724RedGate.Shared.SQLRedGate.Shared.Utils10.4.1.223 两个版本的RedGate.SQLCompare.Engine引用。

那么是我输入的代码有误,还是我的设置有误?

0 投票
4 回答
2682 浏览

sql-server - 比较数据库项目的模式时出错

它之前工作正常,当我将 Visual Studio 2012 中的数据库项目的架构与部署在网络服务器上的远程数据库进行比较时,但我无法解决它现在失败的原因。

当我将架构与部署在本地 PC 上的相同数据库进行比较时,它工作正常。因此,比较工具似乎有效,但远程服务器似乎存在问题。我可以通过任何方式解决问题。

我与远程服务器比较的错误如下:

0 投票
2 回答
71 浏览

tsql - 获取相同的对象以在 SQL 比较中显示

有没有办法让 SQL Compare 输出数据库中的所有对象,特别是存储过程,而不仅仅是那些不同的对象?

0 投票
1 回答
730 浏览

sql-server - SQL 比较部署脚本不包括所有 ALTER SCHEMA 命令

我有一个试图在 SQL Server 2008(不是 R2)上清理的数据库。目前,所有表都驻留在 dbo 模式中。有些表名是单数,有些是复数。

我创建了一个新架构 crm。我将所有表从 dbo 移动到 crm,并重命名了单数表名以匹配复数表名。当我在开发数据库和生产数据库之间执行 SQL 比较(版本 10.4.8.87)时,脚本包括以下内容:

如上所述,它不包括任何 ALTER SCHEMA ... TRANSFER ... 命令,用于已经是复数并且不需要执行 sp_rename 命令的表。

有没有其他人看过这个?

0 投票
1 回答
2026 浏览

sql-server - 使用 Sql 比较忽略 DEFAULT

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

不同于

我想忽略这些差异并真正比较架构更改的位置。我的研究工作让我找到了一些遇到同样问题的人,但在所有情况下,redgate 都会以类似“此功能不存在,将考虑在未来发布”的内容做出回应:

http://www.red-gate.com/messageboard/viewtopic.php?t=8816

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

我已经尝试过查看项目选项并对其进行试验,但似乎没有特定于这个问题。我发现的最接近的是:

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

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

此外,如果当前版本的 Sql Compare 确实无法实现我想要完成的任务,我需要一种方法来在报告和部署时忽略这些差异。我在想以下解决方法可能是可能的:

  1. 筛选出出现此问题的审计字段,例如lst_updt_dtmarchived_dtm
  2. 手动遍历并勾选出现此问题的项目(请不要让我)
0 投票
1 回答
645 浏览

data-migration - RedGate Migrations V2 Beta 不断收到无效的对象名称 [TableName]

我目前正在评估 RedGate SQL Source Control 和 SQLCompare 在我们的持续集成计划中的使用。开始一切都很顺利,很容易添加/删除表,添加可空列,删除列等等,没有任何问题。直到我开始研究迁移脚本。我尝试的简单示例是使可空列不可为空。

我们的流程:在共享开发 SQL Server 中进行更改 -> 将更改签入源代码管理 -> 通过将源代码管理与测试数据库进行比较,部署到测试环境。

设置:

  • 源代码控制:GIT
  • 模型:共享 - 所有开发人员都在同一个数据库上工作
  • 临时数据库:LocalDB - 开发人员无法在服务器上创建数据库
  • 使用源代码控制作为“真相中心”,因为有人可能正在开发服务器上进行更改。可能会推高意外/未完成的更改。

示例迁移脚本:

我从命令提示符运行 SQL 比较:

它给了我这个错误“运行迁移脚本时出错:无效的对象名称'dbo.Test。'

开发和测试 SQL 服务器都有 dbo.Test。我不会在我的任何脚本中删除列或表。有谁知道为什么会发生这种情况?

0 投票
1 回答
152 浏览

redgate - SqlCompare command line remote server

I am trying to use the sqlcompare command line utility to compare a local database and a remote database but I am having difficulty doing this.

I would like to specify a connection string or some way to connect to the remote server (Destination)

Here is the command I have so far:

0 投票
1 回答
612 浏览

redgate - RedGate SQL 比较 SDK API 许可问题

首先很抱歉,我不得不写这个冗长的问题,但是有必要写这些东西来更好地解释我的问题。

我们有一个安装程序来安装我们的应用程序。我想通过安装程序升级数据库。所以,我创建了最新结构数据库的快照,并放在应用程序的包中。我使用 RedGate SQL 比较 SDK API 来比较两个数据库的结构,然后将客户数据库与最新的快照(我提供的)同步。

我正在使用自定义操作类库项目来编写方法,这些方法将被称为安装程序本身。

我已经购买了 RedGate 许可证密钥,并且 RedGate 工具也安装在一台机器上。在同一台机器上,我有一个 installshield 许可证,所以我只在该机器上编写自定义操作代码。

我们需要在使用 RedGate SDK API 的项目中添加“licenses.licx”文件。我已经添加了“ http://documentation.red-gate.com/display/CSD11/Distributing+your+SDK+applications ”中提到的那个文件。

我已经添加了该文件并且编译成功,因为我在同一台机器上激活了许可证。因此,首先要在项目中嵌入许可证,我已经从已安装的 RedGate 中停用了 RedGate 许可证,然后在编译项目时,我得到一个激活弹出窗口,如下所示:

编译自定义操作项目时的 RedGate 激活弹出窗口

我已经应用了有效的许可证,然后我从 installshield 2014 编译了安装程序项目(它正在使用自定义操作项目)。

我的同步数据库代码按预期工作。所以,我没有发现同步代码有任何问题。

在这里,问题是:如果我将产品安装在具有 Redgate License 的机器上,那么产品将被安装并且数据库将成功同步。在客户端机器上,很明显它们没有 RedGate 许可证。安装程序在开始同步之前给出如上图所示的激活弹出窗口。

即使我在编译时已经提供了有效的许可证,我也无法在其他机器上同步数据库。

希望,有人对此有解决方案。

感谢期待。

0 投票
1 回答
46 浏览

database-design - 如何创建脚本来比较、更新和匹配两个数据库的结构

我正在使用类似于 SQL 比较的开放差异比较两个数据库。

我有两个在结构上应该匹配的数据库,所以当我比较时,我想构建一个脚本,这样如果一个 DB 有一个特定的表,而另一个 DB 没有它,它会创建该表,以便结构和排序规则两个数据库匹配。

我正在使用 SQL Server 2012。