zoukankan      html  css  js  c++  java
  • 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。

    在用VS2008开发网站时,调试代码时(选择了附加到进程的方法进行调试),在执行一个SQL查询时报以下错误:

    “/VM”应用程序中的服务器错误。

    拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.SqlClient.SqlException: 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。

    源错误:

    行 116:			dsCommand.SelectCommand.CommandText=sql;
                行 117:			dsCommand.SelectCommand.CommandType=CommandType.Text;
                行 118:			dsCommand.SelectCommand.Connection.Open();
                行 119:			try
                行 120:			{

    源文件: D:\Work\VM\SqlServerDAL\SqlLink.cs    行: 118

    堆栈跟踪:

    [SqlException (0x80131904): 拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。]
                System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1948826
                System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4844747
                System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
                System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
                System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +204
                System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
                System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
                System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +175
                System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
                System.Data.SqlClient.SqlConnection.IssueSQLDebug(UInt32 option, String machineName, UInt32 pid, UInt32 id, String sdiDllName, Byte[] data) +561
                System.Data.SqlClient.SqlConnection.CheckSQLDebug(SqlDebugContext sdc) +129
                System.Data.SqlClient.SqlConnection.CheckSQLDebugOnConnect() +349
                System.Data.SqlClient.SqlConnection.CompleteOpen() +4874985
                System.Data.SqlClient.SqlConnection.Open() +185
                Vm.SqlServerDAL.SqlLink.SelectSqlSet(String sql) in D:\Work\VM\SqlServerDAL\SqlLink.cs:118
                Vm.SqlServerDAL.BaseEntity.clsCity.Load_HomeOftenCity() in D:\Work\VM\SqlServerDAL\BaseEntity\clsCity.cs:452
                Vm.Vm.business.Hotel.HotelSearchGuoNei.bindChangQuCity() in D:\Work\VM\Web\business\hotel\HotelSearchGuoNei.aspx.cs:39
                Vm.Vm.business.Hotel.HotelSearchGuoNei.Page_Load(Object sender, EventArgs e) in D:\Work\VM\Web\business\hotel\HotelSearchGuoNei.aspx.cs:30
                System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
                System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
                System.Web.UI.Control.OnLoad(EventArgs e) +99
                System.Web.UI.Control.LoadRecursive() +50
                System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
                



    版本信息: 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进行调试,完后在启动之后通过上面的方法将该进程附加到调试器中也可以实现对项目的调试。

    青苹果Web应用商店 https://webapp.taobao.com/

    PHP/ASP.NET/ASP/UCHOME/DISCUZ! X系列网站开发,详细需求联系QQ:8511978

  • 相关阅读:
    java获取当前类的路径
    oracle 报错 column ambiguously defined
    各种在线api地址
    双击打开我的电脑 看不到硬盘盘符出现慢 安装百度云之后我的电脑卡
    Tomcat下获取当前类的路径中含有空格的解决方案
    win8解压版Tomcat startup.bat一闪而过的解决办法
    Shell基础篇shell简介之bash编程之参数说明
    Shell 基础篇介绍几个shell程序设计小知识
    Oracle数据仓库的分层管理器解决方案
    DataStage在RedHat Linux Enterprise 3上安装详细步骤(三)
  • 原文地址:https://www.cnblogs.com/Dicky/p/SP_SdideBug.html
Copyright © 2011-2022 走看看