Sql server 2008 r2 SQL 2008 R2权限问题

Sql server 2008 r2 SQL 2008 R2权限问题,sql-server-2008-r2,Sql Server 2008 R2,SQL 2008 R2 以下内容均在SSMS内执行 我有一个数据库,它非常愉快地位于一个开发服务器上,并且作为系统管理员和sql身份验证帐户,一切都运行得很好 此代码已迁移到一个测试框中,在该测试框中,dbo架构上存在缩减的权限集,在该测试框中,用户已通过Windows身份验证在该架构上分配读/写和执行权限 这里是有趣的开始,当我运行某些存储过程时,它们显示为成功,但在过程上记录错误时,提示它无法看到某些表或它没有相应的权限这样做 奇怪的是,尽管所有表当前都位于同一个模式上,但在所有其他表上都没

SQL 2008 R2 以下内容均在SSMS内执行

我有一个数据库,它非常愉快地位于一个开发服务器上,并且作为系统管理员和sql身份验证帐户,一切都运行得很好

此代码已迁移到一个测试框中,在该测试框中,dbo架构上存在缩减的权限集,在该测试框中,用户已通过Windows身份验证在该架构上分配读/写和执行权限

这里是有趣的开始,当我运行某些存储过程时,它们显示为成功,但在过程上记录错误时,提示它无法看到某些表或它没有相应的权限这样做

奇怪的是,尽管所有表当前都位于同一个模式上,但在所有其他表上都没有看到相同的问题

如果我取消了对Db Owner的许可,那么问题就完全消失了


以前有没有其他人遇到过这个问题?如果是,您是如何解决的?

现在想到的唯一一件事是确保在指定存储过程中的表时指定模式。我知道如果您不这样做,那么DB必须在模式中查找表。您收到的错误消息是什么?有问题的代码是什么?架构是在存储过程中明确指定的,错误号是1088,消息是找不到对象“xxxxx”,因为它不存在或您没有权限。好的,我发现了问题,我们在各种存储过程中都有Truncate命令,运行此类命令的最低权限是ALTER TABLE。这已经过测试,存储过程现在可以按要求工作。非常感谢您的回复,它实际上帮助我朝着正确的方向建立了这个链接。