sql server alter权限

时间:2012-10-03 10:07:14

标签: sql-server sql-server-2008

专家

我正在尝试为我们的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模式的alter权限

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

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

无法更改程序'XX',因为它不存在或您没有权限。 无法删除表'XX',因为它不存在或您没有权限。

此用户可以创建新表,但如果他尝试删除新创建的表,则会收到权限错误..

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

我做错了什么,我怎么解决这个问题。

由于

VT

1 个答案:

答案 0 :(得分:0)

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

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

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

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