我想在SQL Server中调试SQLCLR存储过程。我一直在尝试在VS2015社区和最近安装的VS2017社区版本中调试SP,但没有成功。我很确定问题在于附加到SQL Server,但是我已经完成了我在网上提到的所有内容,但无济于事。
在SQL Server Express LocalDB中创建数据库项目时,一切正常。如果我更改连接字符串以使用我的Developer Edition SQL Server,那么我会收到错误。我做了以下事情:
在Visual Studio中,我使用一种简单的方法创建了一个简单的数据库项目,以便将一些文本发送到输出管道。
[Microsoft.SqlServer.Server.SqlProcedure]
public static void mytest ()
{
SqlContext.Pipe.Send("in clr Craig1");
}
此后,该过程执行并执行管道功能,但它不允许我进行附件和调试。
我做错了什么想法? 谢谢 克雷格
答案 0 :(得分:0)
您可能只需要以“以管理员身份运行”启动Visual Studio。我不相信在运行Windows 8时我需要这样做,但我现在正在运行Windows 10并且肯定需要“以管理员身份运行”。我猜你不能以其他方式附加到别人的进程(我的Developer Edition使用“SQL Server”的服务帐户运行,但是LocalDB总是作为启动它的登录运行,通常是你自己)。我没有测试过看看运行Developer Edition是否仍然需要“以管理员身份运行”,或者如何将Developer Edition作为“本地系统”运行会影响此行为。