4

我一直在一个项目中使用 Red Gate SQL 比较 API,该项目的时间越来越长。我们使用了它的一小部分能力,我正在评估其他选择。

我们的场景基本上是这样的:

  • 我们有两个 SQL Server 2008 数据库,可以假定它们具有相同的架构。
  • 数据库很小。大多数表的行数少于 10K;有些不到100。
  • DB1 可以被认为是“主要的”。我们只直接对 DB1 进行更改,这些更改会传播到 DB2。
    • 在 DB1 中修改一小组五个表时,必须立即将其复制到 DB2。
    • 有时,整个数据库——更少的一组排除表(例如日志)——必须同时从 DB1 复制到 DB2。这是从 Web 表单触发的。

目前,所有这些都是在代码中使用 Red Gate 的 SDK 来处理的。

我还能怎么做呢?如果您认为这是正确的选择,我对纯 SQL Server 解决方案(复制?)持开放态度,但如果您发现我的想法,纯 C# 解决方案将需要与我的 IT 部门进行较少的交互。

4

3 回答 3

2

我知道我参加聚会有点晚了,但我刚刚将源代码发布到了 Atlantis.SchemaEngine - 它负责数据库的模式部分,并且正在考虑是否发布 Atlantis.DataEngine(猜测是什么没有奖品)做)。那会是有趣的事情吗?SchemaEngine 在这里

于 2011-03-01T00:42:22.233 回答
2

我所知道的唯一其他可编程产品是ApexSQL 的 Diff API - Apex SQL Diff 是一个类似的产品,他们还发布了一个 API 以在您自己的应用程序中以编程方式执行这些操作。

我自己从未使用过它,但我使用过(并且非常喜欢)其他 ApexSQL 工具 - 强烈推荐。

于 2010-06-17T21:26:48.273 回答
1

您可以尝试使用FluentMigrator。它是 .NET 的数据库迁移库。您可以使用它在 C# 中定义您的架构,然后将更改推送到两个数据库。

于 2011-02-14T10:47:57.543 回答