如何创建只读的 Sql server 2008 帐户?

如何创建只读的 Sql server 2008 帐户?

我希望能够授予对我的 SQL Server 2008 数据库服务器的只读访问权限。特别是两个数据库,一个称为“live”,另一个称为“stage”。

本质上,收到此用户名和密码的人应该能够从任何表中进行选择,但不能执行任何更新、删除或插入。当然,他们不应该能够执行 DDL 操作。如果有必要,我可能会禁止他们运行存储过程。

有什么建议吗?

答案1

在下面安全>登录,创建一个新的登录名,然后在用户映射部分,勾选两个数据库,然后为每个数据库选择db_datareader角色成员资格。

这将提供对每个数据库中所有数据的读取访问权限。

如果你想在脚本中执行此操作,授予命令就是您需要开始的地方。

另一种方法是通过存储过程提供对数据的访问,而不是给他们原始数据的权限,授予他们执行您选择的 SProcs 的权限。

最后的修饰:如果设置这些权限很麻烦,您可能需要创建自己的数据库角色,并且可以按上述方法分配这些权限。对于每个用户(现在和将来),您只需将他们分配给该角色即可。

答案2

理想情况下,您将创建一个 Windows 组登录来读取这些数据库 - 将 DATABASE 角色 db_datareader 分配给该组。

相关内容