如何在事务期间检查SQL Server数据库?

时间:2011-07-29 13:35:58

标签: sql-server database sql-server-2005 transactions

我正在尝试调试应用程序的一部分,其中在同一事务中对数据库执行了许多操作,后面的步骤取决于之前完成的操作。能够查看数据库中发生的情况以确保每个步骤正确完成是有用的。

有没有办法在事务运行时查看数据库中的内容?

4 个答案:

答案 0 :(得分:2)

SELECT * FROM dbo.Table WITH (NOLOCK)

会做你想要的,只要小心幻读。

答案 1 :(得分:2)

如果你想要查看表格数据(代表我的假设),你可以随时使用表格上的WITH (NOLOCK)约束 - 但我不确定你会得到任何已经存在的东西在您的交易中修改。

答案 2 :(得分:0)

如果您想知道正在执行哪些SQL语句,请使用SQL Server Profiler

答案 3 :(得分:0)

在其他答案中表达的WITH (NOLOCK)想法的扩展......您可以简单地说:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

然后,这将允许您“窥探”尚未被调试的事务提交的数据。如果您需要调用无法直接WITH (NOLOCK)的存储过程或函数,这非常有用。