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

时间:2010-08-25 06:04:22

标签: sql-server-2005

我正在研究SQL Server 2005.我已经进行了备份并恢复了数据库。我只是想知道有什么方法可以检查这两个数据库之间的数据是否不同。或者我可以运行或检查的任何脚本[可以逐桌查看]以查看是否添加或修改了任何新行。

EDITED

例如 - 我必须检查数据库1 Table_User到Database 2 Table_User的数据差异。

由于

3 个答案:

答案 0 :(得分:0)

您可以使用内置命令行工具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

另一个(带有可以下载的GUI的链接):

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

这将是逐个表的 - 但它是免费的,并且已安装,因为您安装了SQL Server 2005。希望这有帮助!

答案 1 :(得分:0)

你可以使用sql compare和sql data比较。(red-gate.com) 或者您可以使用sql delta。(sqldelta.com)

答案 2 :(得分:0)

我认为您希望跟踪恢复的数据库中的更改与恢复之前的更改。如果是这样,我希望这可能会有所帮助。

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