0

このストアド プロシージャのユーザーにアクセス許可を付与するために、ストアド プロシージャに次の行があります。

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

ストアド プロシージャは、<> 値をユーザー名に置き換える Powershell を使用して、他のスクリプトと一緒に 1 つの大きなスクリプトに統合されます。

そのデータベースに存在するリスト内のユーザーにアクセス許可を付与できるように、これを変更したいと思います。例えば:

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

SQLでこれを行うことは可能ですか? できるだけ変更を最小限に抑えるようにしています。ユーザーがデータベースに存在しない場合は、無視されます。

4

1 に答える 1

2

のドキュメントによると、GRANT実際にこれを行うことができます。しかし、角かっこがあるため、クエリは という1 人のユーザーに権限を付与しようとしています[User1, User2, User3]。おそらくこれが必要です:

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

ゴードンが指摘したように、この場合、可能であればグループの方がはるかに簡単です。

于 2013-02-23T18:52:01.363 に答える