在调试SQL Server Management Studio中存储过程

问题描述 投票:40回答:6

有没有办法踏进在SQL Server Management Studio中的存储过程的代码?我知道这是可能与Visual Studio,但是我从Management Studio中寻找一个可靠的调试解决方案

sql sql-server sql-server-2005 sql-server-2008
6个回答
26
投票

只有SQL 2008和2008年SSMS从菜单中选择“调试\启动调试”或按Alt + F5,将推出一步步T-SQL调试器。

2005年唯一的办法就是附加探查和监测的SP:StmtCompleted事件,这是不完全调试器一步一步,但至少你会看到执行流程。为了不被用于生产的机器上完成的,很明显。


23
投票

我在这里写了一个非常详细的博客文章吧:

http://www.diaryofaninja.com/blog/2010/11/23/debugging-sql-queries-function-amp-stored-procedures-with-sql-management-studio

基本上,它的要点是,你输入你的SQL查询来执行存储过程,而不是按F5或打感叹号,你打的播放按钮,使用F10和F11单步和步入您的存储的特效。

这是非常方便的,但似乎没有人使用它。


4
投票

的能力,调试存储过程,这是在查询分析器在SQL Server 2000中并没有投入SQL Server 2005中微软意识到了这个错误,并在SQL Server 2008中把功能回去。

2008年SSMS您可以通过点击工具栏上的调试按钮或按Alt + F5启动调试。

不幸的是,运行SSMS 2008年对2005年的数据库不会允许你进行调试,所以你必须要坚持与Visual Studio。


4
投票

当心使用Visual Studio调试存储过程。这是实现的方法是使用锁定所以,你不应该这样做在生产系统中的一个令人难以置信的金额。


3
投票

是的,在2008年SSMS你绝对可以步入T-SQL代码(代码块中,存储FUNC,存储过程)和调试。

详情请参见本优秀的文章Management Studio Improvements in SQL Server 2008 - 这也与调试(对文章的末尾)的交易。


1
投票

调试时使用SSMS远程实例,你的服务器和客户端的防火墙需要分别允许SQLSERVR.EXE和ssms.exe,使用TCP端口135在我的特殊情况下的客户端防火墙一起是导致试图当一个“超时过期”请注意调试。

© www.soinside.com 2019 - 2024. All rights reserved.