我一直在尝试在Visual Studio Team System 2008中调试SQL Server 2005存储过程。
我连接到数据库服务器并在存储过程上右键单击“执行”。我甚至试过“踏入存储过程”,没有运气。
(来源:googlepages.com)
IDE显示它正在运行,但我似乎无法中断或进入存储过程。
(来源:googlepages.com)
我检查了事件查看器,没有日志。没有输出或消息显示问题所在。
Visual Studio包含以下组件: -
(来源:googlepages.com)
大量的论坛提到了调试问题,但没有找到简单的解决方案。
我错过了什么吗?或者有没有人知道一个更简洁的网站,走过成功的存储过程调试?
检查一下,特别是远程调试部分:http://www.dbazine.com/sql/sql-articles/cook1
有关调试sql检查http://msdn.microsoft.com/en-us/library/zefbf0t6.aspx的其他一般信息
请记住,您还必须具有正在调试的sql server框的管理员权限。在过去,我必须使用资源管理器上下文菜单中的RunAs选项来启动Visual Studio。我使用与sql server框上的admin用户相同的凭据。
您是否在项目中启用了SQL Server调试?
项目|属性|调试选项卡。
编辑:还可以在服务器资源管理器中的数据连接上启用“允许SQL / CLR调试”。
需要调查的一个问题是,SQL调试中涉及的任何SQL Server用户帐户必须对名为sp_sdidebug的扩展存储过程具有“执行”权限,该权限仅默认为系统管理员帐户(sa)。
要检查这一点,请使用该帐户登录SQL Server,然后使用SQL Server Management Studio键入以下SQL命令:
EXEC master..sp_sdidebug
您将看到结果表明命令已成功完成或执行权限错误。如果您看到后一个结果,则还应检查该帐户是否具有master数据库本身的权限。 DBA授予存储过程权限但不是master数据库的权限并不是未知数。
将SQL Server帐户的执行权授予sp_sdidebug的最快方法是输入以下SQL:
GRANT EXECUTE ON master..sp_sdidebug TO SpecificAccountName
还有另一个问题,但在您使用服务器资源管理器时它不会影响您。如果从客户端应用程序进行调试,则还必须执行以下命令:
EXEC master..sp_sdidebug 'legacy_on'
请注意,远程SQL Server调试是使用DCOM完成的,这可能很难配置正确。首先,您需要在远程数据库服务器上安装完整的远程调试组件。每次使用Service Pack或修补程序升级SQL Server时,您可能还需要重复此过程。
您是否尝试通过Citrix或RDP在服务器上进行本地调试?
希望这可以帮助,
法案
它的Windows防火墙。禁用它并尝试它应该工作