SQL CLR调试获取"用户取消"

Qui*_*ium 9 .net sql sql-server debugging sqlclr

当我尝试通过VS2010中的SQL测试脚本(使用MSSQL 2008)调试SQL CLR时,一旦部署完成,我就会在调试输出窗口中"取消用户"(这是成功的.)

我一直在互联网上,尝试了所有找到的解决方案,仍然没有去.

系统:

Windows Server 2008 R2 Standard SP 1
64位Visual Studio 2010
Ultimate SQL Server 2008 R2(两者都在同一台计算机上运行)

采取的步骤:

  • VS 2010以管理员身份运行.
  • SQL连接用户具有SQL 2008的sysadmin权限
  • 防火墙设置为允许在VS 2010和SQL 2008的所需端口上进行入站

通过:http://msdn.microsoft.com/en-us/library/ms165051.aspx

并且:http://msdn.microsoft.com/en-us/library/ee828498.aspx

尝试将Target Framework设置为2.0(从3.5开始)

在"部署"部分下的项目属性中尝试未选中"部署代码".

在项目属性中的数据库下设置为"不安全",并将程序集所有者设置为"dbo".

Joh*_*van 1

这里的一些内容可能会重复上述链接中的内容 - 将所有内容放在一个位置,以便为遇到此问题的任何人制作完整的清单。

将以下端口/协议添加到两台计算机(即您的桌面和 SQL Server)上的入站异常。或者关闭桌面和服务器上的所有防火墙以跳过其中一些步骤。

  • 传输控制协议:135
  • UDP:400,500

在桌面上还将devenv.exe添加到防火墙的进程/程序例外列表中。

在服务器上为sqlsrvr.exemsvsmon.exe进程添加防火墙例外。

在服务器上还为文件和打印机共享添加防火墙例外。

您的服务器上是否安装了VS远程调试服务?

数据库/服务器上是否启用了 SQL/CLR 调试?

您运行的是 VS Pro 版还是 Team 版?

您的帐户是否拥有服务器(操作系统)的管理员权限?

您的帐户是否拥有数据库实例 (SQL) 的管理员权限?
以下是有关为什么在 SQL Server 上需要 sysadmin 的更多信息,以防 DBA/经理提出进一步限制访问的争论:http://blogs.msdn.com/b/sqlclr/archive/2006/07/07/659332.aspx

您是否使用 Windows 身份验证进行连接?

您是否尝试过按照以下方式编辑 sqlserver.config:http://www.sqlskills.com/BLOGS/BOBB/post/SQLCLR-debugging-and-VS-2010-revisited.aspx (请注意作者的警告;即这是一个hack 可能会导致 SQL 调试器的稳定性出现问题,因此仅当您是唯一连接到该服务器的人时才执行此操作)。

<configuration> 
   ...  
   <startup useLegacyV2RuntimeActivationPolicy="true"> 
       <supportedRuntime version="v2.0.50727" /> 
   </startup> 
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果您在公司网络上,请检查是否存在可能影响您的代理(如果您的计算机没有意识到服务器位于同一内联网上,有时您将通过代理进行访问)。连接时尝试使用服务器的 FQDN,因为明确指定完整路径有时会有所帮助(至少我见过这可以解决 ISA 服务器的问题)。

如果您有任何病毒软件,请确保为文件扩展名.mdf.ndf.ldf.bak.trn.$$$设置例外。

您是否正在运行 VS、SQL 以及客户端和服务器操作系统的最新服务包?

如果您仍然遇到问题,您是否尝试过在修复模式下运行 SQL 和 VS 安装程序,或者删除并重新安装软件?