SQL CLR调试获取“用户取消”

时间:2011-12-09 17:12:59

标签: .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”。

2 个答案:

答案 0 :(得分:1)

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

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

  • TCP:135
  • UDP:400,500

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

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

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

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

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

您是在运行VS Pro还是团队版?

您的帐户是否拥有服务器(OS)的管理员权限?

您的帐户是否拥有数据库实例(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 (请注意作者的注意事项;即这是一个可能导致SQL调试器稳定性问题的黑客攻击,所以只有当你是唯一一个连接到这个服务器的人时才这样做。)

<configuration> 
   ...  
   <startup useLegacyV2RuntimeActivationPolicy="true"> 
       <supportedRuntime version="v2.0.50727" /> 
   </startup> 
</configuration>

如果您在公司网络上检查没有可能影响您的代理(如果您的计算机没有意识到服务器位于同一个Intranet,有时您将通过代理)。在连接时尝试使用服务器的FQDN,因为明确声明的完整路径有时会有帮助(至少我已经看到这解决了ISA Server的问题)。

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

您是否正在为VS,SQL和客户端运行最新的Service Pack&amp;服务器操作系统?

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

答案 1 :(得分:0)

我遇到了同样的问题,虽然在这个问题开始之前我已经好好调试好几周了。

我再次通过在db上执行以下脚本让它再次运行:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

ALTER DATABASE [DBName] SET TRUSTWORTHY ON