代码之家  ›  专栏  ›  技术社区  ›  Zerotoinfinity HLGEM

两个数据库之间的数据差异

  •  2
  • Zerotoinfinity HLGEM  · 技术社区  · 14 年前

    我正在使用SQLServer2005。我已经备份并恢复了数据库。我只是想知道有没有什么方法可以检查这两个数据库之间的数据是否不同。或者我可以运行或检查的任何脚本[可以是逐表的],以查看是否添加或修改了任何新行。

    例如-我必须检查从数据库1表\u User到数据库2表\u User的数据差异。

    谢谢

    3 回复  |  直到 14 年前
        1
  •  0
  •   David Hoerster    14 年前

    您可以使用内置的命令行工具TableDiff.exe:

    http://msdn.microsoft.com/en-us/library/ms162843(SQL.90).aspx

    它执行逐行比较和列级比较。下面是一篇介绍如何使用它的文章:

    http://www.databasejournal.com/features/mssql/article.php/3594926/SQL-Server-2005-TableDiff-Utility.htm

    http://weblogs.sqlteam.com/mladenp/archive/2007/03/03/60125.aspx

    这将是一个表一个表的基础上-但它是免费的,并已为您安装,因为您已经安装了SQLServer2005。希望这有帮助!

        2
  •  0
  •   onder    14 年前

    您可以使用sql比较和sql数据比较-gate.com网站) 或者可以使用SQLDelta(sqldelta.com网站)

        3
  •  0
  •   daydream    13 年前

    ALTER DATABASE yourdatabasename SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON);
    GO
    USE yourdatabasename;
    GO
    ALTER TABLE Person.Person ENABLE CHANGE_TRACKING
     WITH (TRACK_COLUMNS_UPDATED = ON);
    GO