无法调试 .Net 代码。无法附加到进程。 SQL CLR 远程调试
Posted
技术标签:
【中文标题】无法调试 .Net 代码。无法附加到进程。 SQL CLR 远程调试【英文标题】:Unable to debug .Net Code. Could not attach to process. SQL CLR Remote Debugging 【发布时间】:2012-12-20 05:47:34 【问题描述】:我正在尝试在 Visual Studio 2012 RTM 中调试基于 CLR 的 StoredProcedure。我有一个 Sql 数据库项目。当我尝试使用 RightClick 调试我的脚本文件 -> 使用调试器执行时,它会弹出一个关于附加进程有害的警告,当我接受它时,只需说:
无法调试 .Net 代码。无法附加到 SQL Server 进程 '开发服务器'。
我做过很多不同的事情:
我已将我的域用户添加到 sysadmin SQL Server 角色。
我已经在远程服务器上运行了 MSVSMON.EXE 并设置了它的权限。
我已在“属性”窗格中配置了 Visual Studio 项目的 ConnectionString。
我已将当前域用户添加到远程服务器的本地管理员。
在 Visual Studio 的 Sql Server 对象资源管理器中,我选择了当前连接并勾选了“允许 SQL\CLR 调试”
...
但还是说不能附加进程,也没有可以调试的源代码。
你有什么想法吗?我忘记了什么?
提前致谢
【问题讨论】:
【参考方案1】:您好,在互联网上搜索了很长时间后,您的问题给了我我们问题的答案。 请仔细理解以下内容,
-
以管理员提升的权限启动 Visual Studio 2012
创建 SQL Server 项目
在项目设置/调试窗格中,为数据库连接提供连接字符串
从查看菜单,打开 SQL Server 对象资源管理器,如果您在 Project 中提供的连接字符串没有创建服务器实例,则在此处重新创建连接...
右键单击实例并选择允许 SQL CLR 调试,它会显示一些警告,接受所有内容,但请仔细阅读警告。
保存项目并执行重建,并通过生成的发布脚本测试项目的发布。
现在在项目中创建一个非部署脚本,放置一个断点按 ALT+F5 执行带有 Debug 选项的脚本,当 clr-procedure 发生并尝试进入其中时,它会要求进程附加到 windows , 请允许附加
上面的步骤对我有用,这里是它的屏幕截图; "http://i.stack.imgur.com/GQwlt.png"
欲了解更多信息,您也可以通过以下方式与我联系; 维诺德 W.B.@vinodwb@live.com
【讨论】:
如果使用数据库别名,上述技术将不起作用。 VS 抱怨找不到机器,但别名列在 SQL Server 对象资源管理器中。以上是关于无法调试 .Net 代码。无法附加到进程。 SQL CLR 远程调试的主要内容,如果未能解决你的问题,请参考以下文章