在用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进行调试,完后在启动之后通过上面的方法将该进程附加到调试器中也可以实现对项目的调试。
分享到:
相关推荐
EXECUTE dbo.IndexOptimize @Databases = 'USER_DATABASES', @FragmentationLow = NULL, @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationHigh = 'INDEX_...
Sql server 2005 默认设置下不允许远程登陆 1 外围设置 tcp/ip 和 named pipe 同时启用 2 服务器 –〉属性 –〉安全性 –〉sql server 和windows 认证模式 问题: 拒绝了对对象 ‘xxx’ (数据库 ...
访问了提示“MS-sql 2005拒绝了对对象 'xxx' (数据库 'xxx',架构 'dbo')的 SELECT 权限”的错误
对数据库访问的封装,简化调用代码,优化调用流程, 支持多种调用方式。
对数据库上下文所做的更改只在 sp_executesql 语句结束前有效。如果只更改了语句中的参数值,则 sp_executesql 可用来代替存储过程多次执行 Transact-SQL 语句。因为 Transact-SQL 语句本身保持不变,仅参数值发生...
大型数据库课程考核项目 use master go if exists (select * from dbo.sysdatabases where name = 'library') drop database library GO create database library go use library go if exists (select * from ...
--创建链接服务器 exec sp_addlinkedserver 'ITSV','','...数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器- exec sp_dropserver 'ITSV ', 'droplogins'
主要介绍了关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析,需要的朋友可以参考下
EXEC [master].[dbo].[xp_availablemedia] EXEC master..xp_fixeddrives --请注意:其中,low free为以字节为单位的空闲空间,media type为驱动器类型,软驱为1,硬盘为2,CD-ROM为8。 --查看C盘文件信息的存储过程...
select count(*) from Master.dbo.SysProcesses where dbid=db_id() --前10名其他等待类型 SELECT TOP 10 * from sys.dm_os_wait_stats ORDER BY wait_time_ms DESC SELECT *FROM sys.dm_os_wait_stats ...
数据库名.dbo.表名 --导入示例 select * into 表 from 链接名.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver '链接名', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/...
SqlServer数据库中数据表的创建者非DBO的解决方案
浅析金蝶KIS专业版数据库实体出现置疑及处理方法
在附加数据库后查看不了数据库关系图,也无法建立数据库关系图 我的解决方法如下: 1、设置兼容级别为90(2005为90)(2000为80) 代码如下: USE [master] GO EXEC dbo.sp_dbcmptlevel @dbname=’数据库名’, @new_...
将字符串按某个固定字符拆分成一个表结构(value,id) eg:1,2,3,3,4 拆分后: value id 1 1 2 2 3 3 3 4 4 5
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Borrow_Info_Book_Info]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[Borrow_Info] DROP CONSTRAINT FK_Borrow...
数据库资源
在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对...