我一直在Visual Studio 2005中调试sql 2005存储过程,发现在执行代码时我无法运行SQL查询真的很令人沮丧。
具体来说我的主要问题是......
如果我的SP插入/更新临时表,那么在调试时我无法查询这些表。如果我可以使用立即窗口来运行SQL,那会很酷。
如果我的SP在一个事务下运行,那么再次无法查询它在调试时产生的任何表。即使我切换到sql management studio并运行未提交数据的查询。
我唯一可以检查调试器的是SP中使用的局部变量,这些都没有用。
有谁知道更好的调试方法?这在VS.net 2008或2010中是否更好?
答案 0 :(得分:2)
添加许多诊断SELECTS和PRINT语句。
嘿,这是我们所有程序员在Debuggers之前的那一天所做的事情。一旦你习惯它就没那么糟糕。
此外,这是保持程序较小的另一个非常好的理由。
我已经使用了带有SQL(其他版本)的真正调试器,事实上,编写良好的SQL无论如何都从传统的调试器中获益很少。声明式,基于集合的代码不适合该模型。现在很差写的SQL(程序,命令等)确实如此,但是你设计程序越好,你调试器的理由就越少。
更好的解决方案,恕我直言,如果您需要调试器可以为您做什么,就是使用SQL Profiler,它具有能够告诉您程序在生产中实际执行的内容的优势,而不仅仅是它在人工测试中的作用。
答案 1 :(得分:1)
Here是一篇关于如何使用Visual Studio 2005的文章。我自己没有尝试过,但4GuysFromRolla过去为我提供了很好的信息。
答案 2 :(得分:0)
最好完成这个Debug proc
我从这里得到了这个想法。希望这对你也有帮助。这与VS 2008的方式相同