在一行中向多个数据库用户授予权限

时间:2013-02-23 18:04:40

标签: sql sql-server

我的存储过程中有以下行,用于为此存储过程授予用户权限

GRANT EXECUTE ON [dbo].[GetItem] TO [<<DBUSER>>] 

使用Powershell将存储过程合并到一个大脚本中,其中我替换了&lt;&gt;带有用户名的值。

我想修改它,以便我可以向该数据库中存在的列表中的用户授予权限。例如:

GRANT EXECUTE ON [dbo].[GetItem] TO [User1, User2, User3]

是否可以使用SQL来执行此操作?我试图尽可能地减少变化。如果数据库中不存在该用户,则只会忽略它。

1 个答案:

答案 0 :(得分:2)

根据GRANT的{​​{3}},您确实可以这样做。但由于documentation,您的查询正在尝试向一个名为[User1, User2, User3]用户授予权限。你可能想要这个:

GRANT EXECUTE ON [dbo].[GetItem] TO [User1], [User2], [User3]

虽然戈登指出,如果可能,在这种情况下,一个小组会更容易。