2

我正在使用 SQL Server 的数据库比较工具,它允许我执行以下操作:

  • 安排比较定期发生
  • 将结果通过电子邮件发送给我(以易于阅读的格式,而不是生成的脚本)
  • 允许我排除/包含某些对象名称(例如排除包含 %test% 的表名称。这不是一个真实的例子,但有充分的理由说明它会派上用场。)

以及显而易见的:

  • 有通常的选项来忽略评论、身份种子等
  • 用于选择不同类型对象的选项

如果它是免费的,或者至少不花钱,那当然是额外的奖励。

我已经尝试过 RedGate 的 SQL 比较以及 Visual Studio 中的内置数据库比较,但似乎都无法做到上面的前 3 点。我还查看了此处各种线程中推荐的其他工具,但他们再次在其功能中未提及上述 3 点。

我发现的一个选项是 RedGate 的 SQL 比较 SDK,我想我可以用它写一些东西来做我想做的事。

我只是想研究可以开箱即用地完成上述所有工作的工具。

谢谢!

4

2 回答 2

1

SQL Compare Pro 带有一个命令行,它比 SDK 更容易设置。如果您通过 Windows 调度程序或在代理作业中调用它,您可以实现您正在寻找的内容。

如何从 Powershell 调用命令行的示例可以在这里找到: http ://www.simple-talk.com/sql/database-administration/auditing-ddl-changes-in-sql-server-databases/

本文还介绍了如何在 Powershell 中发送电子邮件。SQL Compare 也可以使用 /filter 开关传递过滤器,以根据各种规则排除对象。

http://www.red-gate.com/supportcenter/Content/SQL_Compare/help/10.0/sc_cl_Switches_in_the_cl

如果您无法正常工作,请发送电子邮件至 support@red-gate.com。

于 2012-11-01T23:42:18.350 回答
1

我认为没有任何工具可以开箱即用地完成所有这些工作。你有没有机会看看 sp_CompareDB。我有类似的要求,最终基于相同的要求编写了自己的例程。

http://www.sql-server-performance.com/2001/database-comparison-sp/

于 2012-11-01T16:31:03.630 回答