红门SQLC的自动化

时间:2011-08-15 20:43:45

标签: build-automation redgate

如何自动化SqlCompare,比较和同步不同服务器上的数据库以便每晚运行?你能给我一个关于如何处理这个问题的链接或简要步骤吗?

5 个答案:

答案 0 :(得分:2)

您可以从.bat或.cmd文件中将其作为计划任务运行

在任务内部只需执行以下操作:

cd "C:\Program Files\Red Gate\SQL Compare 7"

SQLCompare /db1:<dbname>
           /db2:<dbname> 
           /synchronize

然后执行同步。或者,您可以通过CI系统执行此操作,并通过msbuild

调用相同类型的命令

答案 1 :(得分:2)

这可能不是正确的工作工具SQLCompare只关注模式,这可能会对您的数据产生一些不幸的影响。考虑一下,如果您更改列,RedGate将

  • 工作(当成长或某种东西时),
  • 删除列(更改数据类型时)或
  • 失败(通常应该做什么)。

听起来你想要的是夜间复制方案,它将保留数据和模式。

答案 2 :(得分:2)

我自己刚刚解决了这个问题。在我的情况下,我有人在我不知道的数据库中徘徊,打破了应用程序。不幸的是我不能让他们停止在数据库中玩,所以我用C#编写了一个简单的程序。它执行SQL Compare命令并在响应字符串中查找“所选对象是相同的”。如果它没有找到这个,它会通过电子邮件通知我有事情发生了。我使用Windows Scheduler在上午和下午安排它。

这不是最优雅的解决方案,但它有效。

答案 3 :(得分:1)

如果您想使用CI服务器来实现此目的,您现在可以使用新发布的CI命令行和http://www.red-gate.com/ci上可用的构建脚本示例文件来执行此操作

对于TeamCity用户,有一个自定义插件。

这些是免费下载,但请记住,您需要相应的Red Gate许可才能在试用期之后使用此版本。

答案 4 :(得分:0)

您可以尝试使用自动化软件,使用调度程序或触发器每晚启动它。 Automation Anywhere对此非常有用。如果您想要更多信息或只是谷歌,请告诉我。 - 汤姆