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

Sql server 插入后查找数据库中的差异,sql-server,database,sql-server-2008,sql-server-2008-r2,Sql Server,Database,Sql Server 2008,Sql Server 2008 R2,我有一个与数据库交互的程序。当程序与数据库交互时,一切正常。但是,我需要向程序添加修改数据库的功能 我继承的数据库。所有表或列都没有逻辑名称。即使这些名字确实意味着什么,关于它们的文件早就丢失了。我试图在数据库中插入/删除一个项目,但每次似乎都会损坏它 我想做的是在插入/删除之前保存数据库的状态,在数据库中插入/删除,然后在插入/删除之后保存数据库的状态。通过这样做,我可以准确地看到哪些表正在更新,以及使用了哪些值。然后,我可以诚实地尝试修改应用程序以使用数据库 有没有什么工具可以做到这一点?这

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

我继承的数据库。所有表或列都没有逻辑名称。即使这些名字确实意味着什么,关于它们的文件早就丢失了。我试图在数据库中插入/删除一个项目,但每次似乎都会损坏它

我想做的是在插入/删除之前保存数据库的状态,在数据库中插入/删除,然后在插入/删除之后保存数据库的状态。通过这样做,我可以准确地看到哪些表正在更新,以及使用了哪些值。然后,我可以诚实地尝试修改应用程序以使用数据库


有没有什么工具可以做到这一点?这可能吗?是否有其他方法可以实现我的目标?

在修改数据库之前,您可以使用“创建和插入”对每个受影响的表进行备份(如果您只需要短时间的备份,则可以使用临时表或表变量)。然后,您必须进行一个查询,比较之前和之后的数据


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

我的第一个猜测是触发器在您要插入的表上


不过,您应该运行探查器,并确切地看到发生了什么

我同意其他人的看法,您应该从SQL Profiler开始。如果您正确设置了条件,您应该可以很容易地看到在插入和删除命令过程中执行的哪些操作会导致损坏。

您使用的是哪个版本的SQL Server?企业版?您是否尝试过使用SQL Profiler设置跟踪?看来这是第一个开始。在应用程序中执行操作并跟踪发生的情况。