开发者

Grant only stored procedure rights for a user

开发者 https://www.devze.com 2023-03-22 15:28 出处:网络
I am looking for a way to have a database user only have rights to execute stored procedures and functions.This needs to be a dynamic setting so that every time i add a stored procedure or function th

I am looking for a way to have a database user only have rights to execute stored procedures and functions. This needs to be a dynamic setting so that every time i add a stored procedure or function they have rights to it.

Constraints I cannot change the nam开发者_如何学Goes of the schema or stored prcedures or functions.


In SQL Server 2005 and newer, you can create a new database role

CREATE ROLE db_executor

and then grant that role the permission to execute - without specifying anything.

GRANT EXECUTE TO db_executor

This role can now execute all stored procedures and function in the database - and it will be able to execute any future stored procedures you add to the database, too!

So now just add this role to your user and you're done:

exec sp_addrolemember @rolename = 'db_executor', @membername = 'your-user-name-here' 

PS: of course, you could also grant this permission to just a single user:

GRANT EXECUTE TO your-user-name

This makes management a nightmare, however - so I wouldn't go down that path..

0

精彩评论

暂无评论...
验证码 换一张
取 消