拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。
在用VS2008开发网站时,调试代码时(选择了附加到进程的方法进行调试),在执行一个SQL查询时报以下错误:
“/VM”应用程序中的服务器错误。
异常详细信息: System.Data.SqlClient.SqlException: 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。
源错误:
源文件: D:\Work\VM\SqlServerDAL\SqlLink.cs 行: 118
堆栈跟踪:
“/VM”应用程序中的服务器错误。
拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.SqlClient.SqlException: 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。
源错误:
|
源文件: D:\Work\VM\SqlServerDAL\SqlLink.cs 行: 118
堆栈跟踪:
|
版本信息: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053
百度了一下,解决方法如下:
在.net中调用时出现“拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限”的错误的解决办法。
该问题是我在用指定的URL启动项目后,再“附加进程”后运行程序时出现的。该问题主要是.net2005的调试机制引起的,当已启动程序,再附加进程后,他默认是要对SQL Server 也要进行调试的,可这需要装补丁才能支持。所以就出现了“拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限”的错误。这时我们可以通过更改它的调试类型来处理该问题,并使调试正常进行。
在“附加到进程”对话框中点击“附加到:”后的“选择”按钮,可以看到它默认的选项是“自动确定要调试的代码类型”。完后选中“调试以下代码”,并只选择“托管”。这样就可以正常进行了。
另外,若项目整体无法启动调试,也可以先在项目属中指定从某一URL进行调试,完后在启动之后通过上面的方法将该进程附加到调试器中也可以实现对项目的调试。

posted on 2009-01-16 12:00 ξσ Dicky σξ 阅读(842) 评论(0) 编辑 收藏
