我有使用ADO连接调用SQL Server数据库存储过程的Visual Studio .Net项目。调试SQL Server 2008
可以在存储过程中设置断点并对其进行调试。我安装了本地SQL Server 和SQL企业版。
我有使用ADO连接调用SQL Server数据库存储过程的Visual Studio .Net项目。调试SQL Server 2008
可以在存储过程中设置断点并对其进行调试。我安装了本地SQL Server 和SQL企业版。
据我所知,如果你是在谈论一个实际的T-SQL存储过程,你最好的选择将是:
问题是当一个SP不应该被调用时。 我需要'赶上'是谁叫它 – 2009-12-08 20:03:46
啊,是的,你可以在你的代码中放置一个断点并且这样做。你有一个想法* *代码中的*号可能来自哪里?如果没有,你可能需要做很多F10的工作,但最终你会发现它。这可能有助于保持SQL Server Profiler的正常运行。 – peacedog 2009-12-08 20:06:16
当然,我知道这种方式。但我的问题是,如果在SQL服务器中有调试模式,我可以使用SSMS放置断点,并等待某个应用程序触发它 – 2009-12-09 12:29:03
我听说有几个选项用于调试存储过程,例如:直接数据库调试。
这里是一个很好的文章,我发现解释其中的一些链接:Stored Proc Debugging Methods
您可以从VS调试CLR过程和函数,见Debugging SQL
的Transact-SQL是一个不同的故事,它需要特殊的配置步骤,并可以使用特殊工具进行调试,请参阅Using the Transact-SQL Debugger。
使用SQL Server Profiler(在SQL Server Management Studio中的“工具”菜单下)查看从ADO发送到数据库过程的确切调用。然后,您可以找出问题所在,并开始调试,无论是在SSMS还是Visual Studio中。
我强烈建议你看看SQL管理工作室内置的工具。
我写了一个非常详细的博客文章在这里:
基本上它的要点是,你输入你的SQL查询来执行存储过程,而不是按F5或打感叹号,你点击播放按钮,并使用F10和F11步进,并进入你的存储过程。
非常非常方便 - 没有人似乎使用它。
你说的是调试实际存储过程本身吗?并且是存储过程托管代码或TSQL? – 2009-12-08 19:56:51
2代理 我认为这是TSQL。它存储在数据库端 ALTER过程[aaa]。[my_Proc] 开始 ... – 2009-12-08 20:02:24