用户自己的架构的表上的SELECT权限被拒绝
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户自己的架构的表上的SELECT权限被拒绝相关的知识,希望对你有一定的参考价值。
我在VB 6.0,AppOK和AppFailed上有两个应用程序。两者都与SQL Server上的数据库连接,用户AppUser并查询表。 AppOK成功,AppFailed失败并显示以下错误消息。
运行时错误'-2147217911(80040e09)':
对象'xxxxx',数据库'xxxxx',架构'xxxxx'上的SELECT权限被拒绝。
该表存在于AppUser的模式中,当我明确地向用户授予SELECT
权限时
无法授予,拒绝或撤消对sa,dbo,实体所有者,information_schema,sys或您自己的权限。
AppFailed能够查询模式中的所有其他表,但在新创建的4个表上失败,而AppOK可以查询所有这些表。
两个应用程序的连接字符串完全相同。在与AppUser连接时通过Management Studio查询这4个新表可以正常工作。 AppUser没有任何DENY
权限。
我无法弄清楚这个问题。
很明显,从AppFailed连接的用户角色存在一些差异。
使用SQL事件探查器跟踪两个应用程序的警告和错误。您在SQL Profiler中寻找的特定事件在此处描述:Exception Event
确保包含与用户登录相关的列,并查找两个应用程序的活动差异。
以下是使用SQL事件探查器跟踪错误的一些信息:https://nimblegecko.com/how-to-trace-sql-server-database-errors-and-exceptions-with-sql-profiler/
试试这个
1)dbaccess sysmaster 2)将syssqlstat上的select授予public;
:(。应用程序正在连接后改变用户本身的角色(我不知道这一点),该角色没有新创建的表的权限。
以上是关于用户自己的架构的表上的SELECT权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
mysql:在 information_schema 上的访问被拒绝
拒绝了对对象 (数据库 ,架构_'dbo')的_SELECT_权限
sql2008拒绝了对对象 (数据库 ,架构'dbo')的SELECT权限
MySQL DROP TABLE操作以及 DROP 大表时的注意事项