首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行SP/get结果集的只读访问角色,而不间接修改db?

执行SP/get结果集的只读访问角色,而不间接修改db?
EN

Stack Overflow用户
提问于 2011-03-16 18:27:51
回答 1查看 5.2K关注 0票数 4

例如

如果仅赋予Server用户帐户DataReader角色和执行以某种方式修改数据的存储过程的能力,那么该用户执行该存储过程是否会导致修改发生?

总体,我希望给一个用户只读取整个数据库的能力,包括使用SQL语法、视图和执行任何返回结果集的存储过程。但我不想让任何副作用导致数据库的变化。因此,在前面提到的存储过程示例中,这种尝试在理想情况下会出现错误,以满足我的需求,以及所有类似的情况,在这些场景中,副作用可能会导致更改。我想确保我的数据库不受这些攻击。

这在角色层面上是可行的吗?

产品: Server 2005及以上

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-16 19:07:08

你当然能做到。只需在数据库级别创建一个数据库角色,并在表上读取该角色,并仅在所需存储过程(即读取的存储过程)上执行该角色。然后,将所需的用户添加到数据库角色中。

但是,如果您正在使用存储过程读取数据,则所有考虑因素都要完全这样做,并且不为任何级别的用户授予对表的读取。通过存储过程(和视图)驱动所有数据访问。

编辑:刚刚注意到您说SQL 2005“和向上”。如果您正在使用Server 2008,请查看应用程序角色,而不是传统的数据库角色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5329982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档