在插入后查找数据库中的差异

时间:2011-12-13 18:16:05

标签: sql-server database sql-server-2008 sql-server-2008-r2

我有一个与数据库交互的程序。当程序与数据库交互时,一切都很好。但是,我需要为修改数据库的程序添加功能。

我继承的数据库。没有表或列具有逻辑名称。即使这些名字确实存在意义,但很久以前就已经丢失了关于它们的文档。我试图将一个项目插入/删除到数据库中,它似乎每次都会破坏它。

我想做的是以某种方式在插入/删除,插入/删除数据库之前保存数据库的状态,然后在插入/删除后保存数据库的状态。通过这样做,我可以确切地看到哪些表正在更新,以及具有什么值。然后,我可以尝试修改应用程序以使用数据库。

是否有任何工具存在?这甚至可能吗?还有另一种方法可以实现我的目标吗?

3 个答案:

答案 0 :(得分:1)

我的第一个猜测是你要插入的桌子上的触发器。

你应该运行探查器,看看究竟发生了什么。

答案 1 :(得分:0)

您可以使用Create& Insert在修改数据库之前备份受影响的每个表(如果您只需要短时间备份,临时表或表变量可以工作)。然后你必须做一个比较之前和之后的查询。

如果您的记录集足够小,并且您手动执行此操作,则复制并粘贴到Excel可能就足够了。

答案 2 :(得分:0)

我同意其他人应该从SQL Profiler开始。如果正确设置了条件,则应该很容易看到在插入和删除以腐败结束的命令期间执行的操作。