0

我的存储过程中有以下行来向用户授予此存储过程的权限

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

存储过程与其他使用 Powershell 的大脚本合并到一个大脚本中,我将 <> 值替换为用户名。

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

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

用 SQL 可以做到这一点吗?我正在尝试尽可能减少更改。如果用户在数据库中不存在,它只是忽略它。

4

1 回答 1

2

根据文档GRANT您确实可以这样做。但由于括号,您的查询试图授予一个名为[User1, User2, User3]. 你可能想要这个:

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

尽管正如 Gordon 指出的那样,如果可能的话,在这种情况下,一个小组会容易得多。

于 2013-02-23T18:52:01.363 回答