【问题标题】:sql server alter permissionsql server 修改权限
【发布时间】:2012-10-03 10:07:14
【问题描述】:

专家

我正在尝试为我们的 IT 团队设置权限。我们所有的 IT 员工都是 I.T 集团的成员。对于有问题的数据库,IT 员工组是 db_reader、db_reader 的成员,并且可以执行所有 SP/Fun。我想授予一个特定用户修改对象的权限。

CREATE USER [S\Al] FOR LOGIN [S\Al] WITH DEFAULT_SCHEMA=[dbo]

将他添加到 db_ddlAmin 角色

EXEC sp_addrolemember N'db_ddladmin', N'S\Al'

我们数据库中的所有对象都属于 DBO 模式..所以我已将 dbo 模式的更改权限授予用户

GRANT ALTER ON SCHEMA::[dbo] TO [S\Al]

但是当这个用户试图修改一个 sp 或删除一个表时,他得到了

无法更改过程“XX”,因为它不存在或者您没有权限。 无法删除表“XX”,因为它不存在或您没有权限。

这个用户可以创建一个新表,但是如果他试图删除新创建的表,他会得到权限错误..

此用户是其他 4 个组的成员,其中该组是 db_owner 或 db_ddladmin 角色的成员,

我做错了什么,我该如何解决这个..

谢谢

VT

【问题讨论】:

  • 他们所属的任何组是否有任何明确的DENYs? DENY 总是胜过 GRANT

标签: sql-server sql-server-2008


【解决方案1】:

db_ddladmin 角色的成员应该能够修改存储过程。

确保您已将用户添加到正确数据库中的角色:

use YourDatabase;
EXEC sp_addrolemember N'db_ddladmin', N'S\Al'

如果没有明确的use,您可能已经让他成为master 数据库的db_dlladmin 角色的成员!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-06-24
    • 2012-02-29
    • 2011-05-24
    • 2014-01-27
    相关资源
    最近更新 更多