VS 2008中的调试会锁定存储过程

时间:2010-04-06 23:41:04

标签: sql-server visual-studio-2008 stored-procedures

我这里有一个奇怪的人。我有一个.Net可执行文件,在引擎盖下调用一些存储过程。无论出于何种原因,当我正在调试时,其中一个存储过程会挂起。

如果我在visual studio之外运行可执行文件就可以了,包括这个存储过程。这是我在调试时挂起的,它真的挂了。如果我停止调试会话,IDE会冻结,我必须通过taskmanager杀死它。

我知道哪个存储过程有问题,以及其中的实际语句是问题所在。它正在调用一个不太突出的更新声明,因为它特别特别。我可以从SQL管理工作室运行相同的语句(和存储过程本身),没有问题。并且,正如我所提到的,exe在调试器外运行得很好。

如果我使用SQL活动监视器来查看挂起的原因,则等待类型为PREEMPTIVE_DEBUG。我不确定这是否有用,但如果您需要更多信息,我会尽力给您。

我重启了我的机器(有问题的SQL Server也在这个盒子上)并且没有做任何事情,也没有重建可执行文件。我正在摸不着头脑,如果你有任何想法接下来要检查什么,我很乐意倾听。谢谢!

1 个答案:

答案 0 :(得分:1)

可能VS正在尝试启动SQL服务器自己的调试功能并失败(假设您尚未成功使用它)。

您可以尝试在解决方案中禁用T-SQL调试(与步骤4 here相反)