如何创建一个自定义的 SQL Server 数据库服务器角色,该角色只能运行 SELECT
查询和存储过程?
这意味着,该角色的用户将不允许执行自定义查询,但可以运行包含 CRUD 和 SysAdmin 语句(UPDATES、DELETES、ALTERS、DROPS)的存储过程。
我尝试创建此自定义角色,但在运行更改表的存储过程时失败了。
CREATE ROLE SupportStaff
GRANT SELECT TO SupportStaff
GRANT EXECUTE TO SupportStaff
有什么想法吗?
更新
好的,我发现上面的代码允许带有插入/更新/删除语句的存储过程。但它不允许 ALTER、TRUNCATE 或 DROP INDEX 语句。
对于 ALTER,我只需要添加 GRANT ALTER TO SupportStaff
但是我需要做什么来允许 TRUNCATE
和 DROP INDEX
呢?