在SQL Server 2008中debugging存储过程

有没有办法在SQL Server 2008上debugging存储过程?

我有权使用SQL Server Management Studio 2008和Visual Studio 2008(不确定是否提供此function)。

通常,我使用SQL分析器来查找传递给存储过程的参数,但希望能够逐步完成该过程以查看失败的位置。

这可能吗?

什么是最好的方法? (就快速查找错误的位置而言)

那么答案就是一直坐在我面前。

在SQL Server Management Studio 2008中,工具栏中有一个debuggingbutton。 在查询窗口中设置一个断点来逐步完成。

我一开始就没有意识到这个function,因为我没有考虑到INTO的存储过程,你可以轻松地做到这一点。

SSMS基本上做了什么FinnNK提到的MSDN演练,但自动。

太简单! 感谢您的帮助FinnNK。

编辑:我应该在那里添加一个步骤来find我的数据库上使用SQL Profiler的参数的存储过程调用。

是的,你可以(只要你至less有视觉工作室的专业版本),虽然它需要一点点设置,一旦你这样做,它与debugging代码没有太大的不同。 MSDN有一个基本的演练 。

  • 是的,尽pipedebugging工作可能会非常棘手,特别是如果试图从自己的开发机器上debugging远程SQL服务器上的SQL时。
  • 在第一种情况下,我build议通过直接在服务器上进行debugging,如果可能的话,首先得到这个工作。
  • 使用具有sysadmin权限的帐户login到SQL Server,或者让您的DBA来执行此操作。
  • 然后,对于您自己的Windows帐户,在SQL Server中创build一个“login”,如果它尚未存在:

在这里输入图像说明

  • 右键单击帐户>属性 – 确保login名是“sysadmin”angular色的成员:

在这里输入图像说明

  • (还要确保该账户是任何想要debugging脚本的数据库(例如存储过程)的“所有者”:

在这里输入图像说明

  • 然后,使用您的Windows帐户直接login到SQL服务器。
  • 使用Windows身份validationlogin到SQL服务器(使用您刚用来login到服务器的帐户)
  • 现在在SQLpipe理工作室中“debugging”查询,根据需要设置断点。 你可以使用F11进入存储过程:

在这里输入图像说明

  • 这是一个有用的debugging指南:

http://blogs.msdn.com/b/billramo/archive/2009/04/11/transact-sql-debugger-for-sql-server-2008-part-1.aspx

  • 如果你需要远程debugging,那么一旦你有这个部分的工作,你可以尝试设置远程debugging:

http://blogs.msdn.com/b/billramo/archive/2009/04/11/transact-sql-debugger-for-sql-server-2008-part-2.aspx

远程debugging的一个要求是用于运行SSMS的Windows帐户是sysadminangular色的一部分。 请参阅此MSDN链接: http : //msdn.microsoft.com/en-us/library/cc646024%28v=sql.105%29.aspx

MSDN提供了debugging存储过程的简单方法。 请检查这个链接 –
如何:debugging存储过程