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

Ste*_*son 5 sql-server-2008

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

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

有什么建议吗?

CJM*_*CJM 11

Security > Logins 下,创建一个新登录名,然后在User Mapping部分,勾选两个数据库,并为每个选择db_datareader角色成员资格。

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

如果您想在脚本中执行此操作,则需要从GRANT命令开始。

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

最后的修饰:如果设置这些权限很繁琐,您可能想要创建自己的数据库角色,并且可以如上所述分配这些权限。对于每个用户(现在和将来),您可以简单地将他们分配给该角色。